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 语法的更多相关文章

  1. mvc 4 razor语法讲解和使用

    1.这里的  @{Layout="文件路径";}  代码块指定了整个项目默认所使用的布局文件(如图:) @RenderBody()对于所有的页面默认的情况下都会使用这个布局(Web ...

  2. MVC之Razor语法

    Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活 ...

  3. 从项目经理的角度看.net的MVC中Razor语法真的很垃圾.

    我们知道,Razor语法中我们可以直接使用@if(){}等代码段,这使得.net程序员在写模版时更容易了. 对比如下: 语法名称 Razor 语法 Web Forms 等效语法 代码块(服务端) @{ ...

  4. 【转载】【MVC 学习 Razor语法】

    Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活 ...

  5. MVC之——Razor语法

    实例产品基于asp.net mvc 5.0框架,源码下载地址:http://www.jinhusns.com/Products/Download View里所有以@开头或@(/*代码*)的部分代码都会 ...

  6. MVC – 7.Razor 语法

    7.1 Razor视图引擎语法 Razor通过理解标记的结构来实现代码和标记之间的顺畅切换. @核心转换字符,用来 标记-代码 的转换字符串. 语境A: @{ string rootName=&quo ...

  7. ASP.NET MVC 3 Razor 语法

    1.   三元运算符 1)   输出文本 1.   View var var1 = '@(1 < 2 ? "YES" : "NO")'; var var2 ...

  8. Razor语法&ActionResult&MVC

    Razor代码复用 mvc 4 razor语法讲解和使用 了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult 了解ASP.NE ...

  9. ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考

    原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...

随机推荐

  1. Html中各种空格的显示

    一.使用全角空格 全角空格被解释为汉字,所以不会被被解释为HTML分隔符,可以按照实际的空格数显示. 二.使用空格的替代符号 替代符号就是在需要显示空格的地方加入替代符号,这些符号会被浏览器解释为空格 ...

  2. 值得订阅的Android 开发者博客

    链接:http://www.zhihu.com/question/19788650/answer/60771437来源:知乎 Google 官方[Android Developers Blog](An ...

  3. Java web中为什么要用Service接口和DAO接口?

    面向接口:依赖倒转原理----使用service接口的原因是为了让表示层不依赖于业务层的具体实现,使用dao接口的原理也是如此,而且便于spring ioc容器,当修改dao层,时不需要修改servi ...

  4. 3.7---猫狗收容所(CC150)

    解答的思路:建立一个queue放狗,一个queue放猫. 如下: import java.util.*; class Dog{ int time; int value; Dog(int a, int ...

  5. ext 对齐

    layout : { type : 'hbox', pack : 'end' } buttonAlign:'center', //按钮居中   pack : String Controls how t ...

  6. [20160725]ArithmeticTest

    public class ArithmeticTest{ public static void main(String[] args) { int [] a={1,3,5,7,9,11,13,15}; ...

  7. C#值数值类型转换

    1.十进制转16进制 string result=number.ToString("X2"); >>0A //X2表示大写2位 2.字符串转数值类型 "); ...

  8. js日期、月份:日期加一天等

    // 日期,在原有日期基础上,增加days天数,默认增加1天 function addDate(date, days) { if (days == undefined || days == '') { ...

  9. IEEE802.15.4 部分无线收发芯片比较

    见下表:   TI(CC2530&CC2520) ST(STM32W108) Atmel(AT86RF231) 功耗(发送功率0DB) 30mA 31mA 14mA 是否提供手册 提供 不提供 ...

  10. Django~Models1

    不用数据库不用Models 省却 --------------- startapp urls +链接 view以下 ---------------- 添加Model 在project/settings ...