C# Razor 小笔记和某些细节
知识小结:C# 的主要 Razor 语法规则
- 单独一个变量直接使用 @a 的形式,无需加分号,一般是直接使用已有变量,注意在使用 html 标签时,要和 razor 表达式加一个空格。
//以下都是错误的@int a= //不能有空格
//@int a=0,@int 会被识别为Razor表达式, a=0识别为字符,并且@int会报错@int a = //不能有空格
<p>有几个人@a</a>
//此处不会被识别,已经变成字符了
<h1 class="display-4">Welcome @a;</h1>
// 输入的是@a; 只会识别@a,而;将会变成字符 - Razor 代码封装于 @{ ... } 中 --多行代码需要包含在 @{} 中
@{ int a = } //报错,在@{}中要按正常C#代码来写,语句后要加分号- 封装于 @{ ... } 中,Razor的变量是全局的,在一个位置声明一个变量,后面都可以使用。
- 如果变量在 if/for{} 等处声明则其为局部变量。对于 if/for 这些函数来说,可以不包含在@{}内,直接使用 @if/@for 这种形式
<!-- 多行语句代码块 -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
} <!-- 多行语句代码块 -->
<ul>
@for (int i = ; i < ; i++)
{
i += ;
<li>@i</li>
}
- 行内表达式(变量和函数)以 @ 开头 --单独一条表达式如赋值、输出,只需要在开头加上@
<!-- 单行代码块 -->
@{ var myMessage = "Hello World"; } <!-- 行内表达式或变量 -->
<p>The value of myMessage is: @myMessage</p>
- 代码语句以分号结尾 --跟平常写代码一样,语法格式一致
- 字符串由引号包围
- C# 代码对大小写敏感,Razor 同样
提示:
@{}中声明的变量是全局性的。
@var net = "从入门到放弃"; 是错误的写法,因为单行表达式不能有空格。请使用@{ var net = "从入门到放弃";}
Razor代码可以放在HTML标签的任何位置,与标签结合一起,向用户呈现内容。
在多行代码块@{}中,如果只有c#代码语句,则无需在每一条语句前面加@,如知识小结的第一条。
多行语句块@{}中可以包含HTML标签,如果需要在HTML标签中使用代码,只需在某一部位加上 “@语句”格式的语句。
在"多行语句代码块 2"的示例中,直接使用了"@for{}",{}里面包含多行代码。在这里,for函数"for{}"里可以加入多行代码,与"@{}"一致。
除for函数外,if
, if...else... , while等函数也能包含多行代码。
较为复杂的情况:
<div class="container-fluid col-10">
@{
if (Model != null)
{
if (Model.Code == )
{
var a = (AccurateBasicModel)Model.Data;
if (a.direction != null)
{
<p>图像方向 @a.direction</p>
}
<p>识别出的文字条数 @a.words_result_num</p>
int i = ;
<table class="table table-hover table-responsive table-bordered">
<tr><td>编号</td><td>识别文字</td><td>行置信度平均值</td><td>行置信度方差</td><td>行置信度最小值</td></tr>
@foreach (var item in a.words_result)
{
<tr>
<td>@i</td>
<td> @item.words</td>
@{
if (item.probability != null)
{
<td>@item.probability.average</td>
<td>@item.probability.variance</td>
<td>@item.probability.min</td>
}
else
{
<td>未设置</td>
<td>未设置</td>
<td>未设置</td>
}
}
@{ i++;}
</tr>
}
</table>
}
else
{
<h3>识别错误,错误详情:</h3>
<p>
@Model.Data.ToString()
</p>
}
}
else
{
<h2 id="plaseInput">请上传图片</h2>
}
}
</div>
</div>
C# Razor 小笔记和某些细节的更多相关文章
- 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber
http://www.bubuko.com/infodetail-382485.html 标签:des class style 代码 html 使用 问题 文件 数据 ...
- 小笔记:Timer定时间隔时间操作
小笔记:Timer定时间隔时间操作,后面有时间再补充和完善: public class TimingSvc { /// <summary> /// 定时器,执行定时任务 /// </ ...
- 关于 linux中TCP数据包(SKB)序列号的小笔记
关于 SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq 一直没有找到seq 不清楚在那里初始化了,就 ...
- Linux下postgres9.4 版本的单机版安装小笔记
1.添加RPMyum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-redha ...
- 深入剖析Nginx一点小笔记
前几天在图书馆看书,恰好看到这本<深入剖析nginx>,花了快一周的时间看完了这本书,写点笔记心得便于以后复习. 以前对nginx的认识就只是停留在一个反向代理服务器上.百度了一下ngin ...
- Android小项目之八 界面细节
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Stl源码剖析读书笔记之Alloc细节
阅读基础: Foo *pf = new Foo; 执行了两个步骤: 1)::operator new 向系统申请内存. 2) 调用Foo::Foo()构造函数构造实例. ==> 申请内存,构造 ...
- Git-rebase 小笔记
转自: https://blog.yorkxin.org/posts/2011/07/29/git-rebase/ 最近刚好有个机会整理很乱的Git commit tree,终于搞懂了rebase 的 ...
- css通用小笔记03——浏览器窗口变小 div错位的问题
我最近写网页的时候,经常碰到一个普遍的问题,经过我的查阅和尝试,终于解决了这一问题,这里有两种方法提供给大家,如果博友还有更好的方法,欢迎补充. 一.使用min-width属性: 我们先看看下面这段代 ...
随机推荐
- FPGA加速:面向数据中心和云服务的探索和实践
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由columneditor 发表于云+社区专栏 作者介绍:章恒--腾讯云FPGA专家,目前在腾讯架构平台部负责FPGA云的研发工作,探索 ...
- R语言数据重塑cbind+rbind+merge+ melt+cast
R语言中的数据重塑是关于变化的数据分为行和列的方式.大多数R地数据处理的时候是通过将输入的数据作为一个数据帧进行.这是很容易提取一个数据帧的行和列数据,但在某些情况,当我们需要的数据帧的格式是不同的来 ...
- Shell 编程-常见的文件处理命令
touch 命令 touch命令用于创建空文件,例如有时应用程序希望在它们写入数据之前,某个日志文件就已经存在.这时可用touch命令创建一个空文件:touch test1:touch命令还可以用来改 ...
- 周记7——ios中picker滑动穿透bug
Bug描述:使用mint-ui的picker组件时,datepicker和picker在ios的webview(bug是在Hybrid App发现的)中会出现滑动穿透的现象,导致弹层后面的页面也会滚动 ...
- i.mx6 Android5.1.1 初始化流程之init.rc解析(未完成)
接上一篇:i.mx6 Android5.1.1 初始化流程之init进程 参考资料:http://blog.csdn.net/mr_raptor/article/category/799879 这个博 ...
- IOS Core Image之二
在上篇博客IOS Core Image之一中了解了下CIImage.CIFilter.CIContext三个类的使用,这篇了解下滤镜链(多滤镜)和人脸检测(不是人脸识别). 一.多滤镜 1.有些效果不 ...
- JAVA基于权重的抽奖
https://blog.csdn.net/huyuyang6688/article/details/50480687 如有4个元素A.B.C.D,权重分别为1.2.3.4,随机结果中A:B:C:D的 ...
- c#删除list中的元素
public static void TestRemove() { string[] str = { "1", "2", "d", &quo ...
- shell通过ping检测整个网段IP的网络状态脚本
要实现Ping一个网段的所有IP,并检测网络连接状态是否正常,很多方法都可以实现,下面简单介绍两种,如下:脚本1#!/bin/sh# Ping网段所有IP# 2012/02/05ip=1 #通过修改初 ...
- js post跳转
function clickFunc(id) { var params = new Array(); params.push({ name: "id", value: id}); ...