MVC – 7.Razor 语法
7.1 Razor视图引擎语法
Razor通过理解标记的结构来实现代码和标记之间的顺畅切换。
@核心转换字符,用来 标记-代码 的转换字符串。
语境A:
@{
string rootName="GZCZ";
}
<span>@rootName.Models</span> 错误
<span>@(rootName).Models</span>
语境B:
<span>JamesZou@Itcast.us</span> 通过,因为@前面没有空格
<span>JamesZou @Itcast.us</span>不通过,因为@前面有空格
7.2 Razor表达式自动使用了HTML编码 (√)
代码:razorView.cshtml(html输出)
代码:razorView.cshtml(html输出) <div>
<!--7.1 输出html字符串(自动转义输出字符串中的<>)-->
@{
string html = "<input type='text'></input>";
}
@html <!--7.2 输出html字符串(不转义)-->
@Html.Raw(html)
</div>


7.3 js代码防止转义
<script>
alert("@Ajax.JavaScriptStringEncode(ViewBag.htmlStr)")
</script>
7.4 代码块
<!--7.4 代码块-->
@{string s = "Hi~";
int age = 11;
}
7.5 无返回值方法,在当前视图中传递参数给另一个视图(√)
<!--7.5 调用无返回值方法,要加大括号 && 在当前视图中传递参数 给另一个视图-->
@{ViewData["partData"]="幻影车神3";}
@{Html.RenderPartial("~/Views/Home/First.cshtml");}
<!--7.5 调用有返回值方法,不用加大括号 && 因此@后直接跟变量或带返回值方法-->
@Html.TextBox("12121212")
~/Views/Home/First.cshtml
~/Views/Home/First.cshtml @{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>First</title>
</head>
<body>
<div>
@for (int i = 0; i < 10; i++)
{
<div style="background:#00ffff">222</div> //这里是从~/Views/Students/razorView.cshtml传递过来的ViewData["partData"]
@ViewData["partData"]
} </div>
</body>
</html>

7.6 注释
<!--7.6 注释-->
@*哈哈哈哈哈*@
7.7 在C#代码块中直接输出字符串文本(√)
<!--7.7 在C#代码块中直接输出字符串文本-->
@{
//1.<text>
<text>一行白鹭上青天</text>
//2.@:
@:千里江陵一日还
}

7.8 @@转移
<!--7.8@转义-->
@@包租婆,没水啦~~~
7.9 调用泛型方法
调用泛型方法,需要特殊语法:加上一对小括号:
@(Html.SayHi<string>())
了解:
数据类型转换
用As....()方法转换,如:@("211".AsInt())
数值类型判断
用IsInt()方法,如 @(strAge.IsInt()?"是":"否")
路径转换
用Href()方法,如: @Href("~/Home/Index");
7.10 HtmlHelper重用:相当于是在 视图中 定义 方法

作者:唐三三
出处:http://tangge.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
MVC – 7.Razor 语法的更多相关文章
- mvc 4 razor语法讲解和使用
1.这里的 @{Layout="文件路径";} 代码块指定了整个项目默认所使用的布局文件(如图:) @RenderBody()对于所有的页面默认的情况下都会使用这个布局(Web ...
- MVC之Razor语法
Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活 ...
- 从项目经理的角度看.net的MVC中Razor语法真的很垃圾.
我们知道,Razor语法中我们可以直接使用@if(){}等代码段,这使得.net程序员在写模版时更容易了. 对比如下: 语法名称 Razor 语法 Web Forms 等效语法 代码块(服务端) @{ ...
- 【转载】【MVC 学习 Razor语法】
Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活 ...
- MVC – 7.Razor 语法
7.1 Razor视图引擎语法 Razor通过理解标记的结构来实现代码和标记之间的顺畅切换. @核心转换字符,用来 标记-代码 的转换字符串. 语境A: @{ string rootName=&quo ...
- MVC之——Razor语法
实例产品基于asp.net mvc 5.0框架,源码下载地址:http://www.jinhusns.com/Products/Download View里所有以@开头或@(/*代码*)的部分代码都会 ...
- ASP.NET MVC 3 Razor 语法
1. 三元运算符 1) 输出文本 1. View var var1 = '@(1 < 2 ? "YES" : "NO")'; var var2 ...
- Razor语法&ActionResult&MVC
Razor代码复用 mvc 4 razor语法讲解和使用 了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult 了解ASP.NE ...
- ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考
原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...
随机推荐
- bzoj3173: [Tjoi2013]最长上升子序列(fhqtreap)
这题用fhqtreap可以在线. fhqtreap上维护以i结尾的最长上升子序列,数字按从小到大加入, 因为前面的数与新加入的数无关, 后面的数比新加入的数小, 所以新加入的数对原序列其他数的值没有影 ...
- 《剑指offer》— JavaScript(3)从尾到头打印链表
从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值. 实现代码 /*function ListNode(x){ this.val = x; this.next = null; }* ...
- Python与R的争锋:大数据初学者该怎样选?
在当下,人工智能的浪潮席卷而来.从AlphaGo.无人驾驶技术.人脸识别.语音对话,到商城推荐系统,金融业的风控,量化运营.用户洞察.企业征信.智能投顾等,人工智能的应用广泛渗透到各行各业,也让数据科 ...
- angularJs 跨控制器与跨页面传值
虽然网上概括了四种或更多的传值方式,但我现在用的顺手的就两种 首先要知道AngularJs可以构建一个单页面应用程序,所以我划分为跨控制器传值 和 跨页面传值 两类 1.跨控制器传值—— $rootS ...
- 解决Ubuntu终端里面显示路径名称太长
方法/步骤 找到配置文件先进行备份: cp ~/.bashrc ~/.bashrc-bak 找到配置文件修改: vi ~/.bashrc 备份是为了防止配置修改出错,可以还原: 下面是我的/h ...
- 常用Path路径
正三角形(左):<Path Data="M40,0 L0,30 40,60 z" Stretch="Uniform"/> 正三角形(上):<P ...
- IIS 网站日志分析
最近由于ADSL代理总出问题,导致爬虫服务器总被目标网站封,由于请求内容总是空,前端APP获取不到想要的内容就一直刷新,导致爬虫服务器请求更加繁忙. 爬虫服务器每执行完一个流程,都会给统计服务器Pos ...
- 那些让 Web 开发者们深感意外的事情
作为 Web 开发者,对自己的行业前景,人人都有自己的看法,然而,任何行业都有出人意料的地方.著名的 Web 开发设计博客 Nope.com 曾向他们的读者做了一个调查,请他们列举 Web 开发领域那 ...
- [php]手动搭建php开发环境(排错)
前提:针对自己的系统下载相应的php.apache.mysql,安装完毕后按照以下去配置httpd.conf和php.ini 本人用的是php5.6.4和apache2.4.4 一.Apache : ...
- 将neuroph导入到Eclipse中
1.下载neuroph 网址:http://neuroph.sourceforge.net/ 本人选择的是2.8版本 2.解压文件 本人解压至:D:\neuroph-2.8 3.neuroph jar ...