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 – 7.Razor 语法

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

  6. MVC之——Razor语法

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

  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. PHP安装扩展mcrypt以及相关依赖项 【PHP安装PECL扩展的方法】

    一:Mcrypt简介 Mcrypt是PHP的一个扩展,完成了常用加密算法的封装.其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Bl ...

  2. Python3 字典 get() 方法

     Python3 字典 描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  3. win32/linux 线程 log

    原文 #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef WIN32 #includ ...

  4. Holm–Bonferroni method

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  5. checkbox选择根据后台List数据进行回显

    需求:记住用户已经选择的 checkbox 选项,当用户再次对该 checkbox 进行选择操作时,应对该用户已经选择的 checkbox 选项进行选中操作. 示例代码: checkbox,js遍历后 ...

  6. Java集合(4)一 红黑树、TreeMap与TreeSet(下)

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) Java集合(4)一 红黑树. ...

  7. Linux上怎么快速删除一个目录

    删除文件需要用到rm命令,但删除目录需要添加两个参数: -r  向下递归,不管多少级目录都删除 -f  强行删除,不做提示 #rm -rf 文件目录名

  8. hadoop之安全篇

    ---------------持续更新中------------------- hadoop集群安全架构 如下图所示: --------------------------未完待续---------- ...

  9. Mock InjectMocks ( @Mock 和 @InjectMocks )区别

    之前一直对这两个注解的区别不是很明白. 搜到过一篇博客园的文章举例说明了代码行为的区别.后来在stackoverflow上看到一个问答简单明了的解释了这两个注解在定义上的区别: 在此翻译记录一下: / ...

  10. 【洛谷】3375 KMP字符串匹配

    [算法]KMP [题解][算法]字符串 #include<cstdio> #include<algorithm> #include<cstring> using n ...