Razor视图引擎基础语法

如果是使用c#解析器,那么就会是.cshtml结尾的文件,这样告诉编译器使用c#解析,如果是vb,那么就是vbhtml文件的后缀。

简单的用法:

@

{

  string[] strArray = new string[]{"1","2","3"};//使用Razor定义了一个字符串数组。

}

@strArray.Length  输出定义的数组中元素的个数。还可以@foreach对象进行迭代数组中的元素。

虽然Razor非常智能,但是有时候也会犯错。例如:@strArray.Length.Count,其实.Count是想直接输出在页面中的,但是Razor解析成了C#代码,这时我们可以显示指定代码范围:@(strArray.Length).Count跟Web form中一样指定代码的范围,有二义的时候圆括号还是非常有用。

当如果我们就是想输出字符串@aspnet的时候那么Razor默认会当做代码来解析,那么我们可以使用转义符@来解决这个问题:@@aspnet,Razor会自动识别电子邮件格式,所以不用担心页面显示电子邮件的时候当做代码来处理了。当进行产品评论的时候会出现跨脚本注入攻击(XSS)危险,但是Razor总是使用html编码方式进行编码,然后在页面中进行呈现。如果要在页面呈现html代码,那么就要使用@Html.Raw(值)方法就能有效的展示htm代码,当Razor代码中要给js中的变量赋值时为了防止XSS攻击,那么就要使用@Ajax.JavaScriptStringEncode()方法对值进行编码,这样就有效的防止XSS攻击了。例如:

<script type="text/javascript">
var js = "@Ajax.JavaScriptStringEncode(ViewBag.Message)";
document.getElementById("div2").innerText = js;
</script>

这样子就能有效的避免XSS攻击。

时间: 2024-10-12 19:10:10

Razor视图引擎基础语法的相关文章

ASP.NET MVC3 系列教程 - Razor视图引擎基础语法

http://www.cnblogs.com/highend/archive/2011/04/09/aspnet_mvc3_razor_engine.html 4. 关于所有带"_"开头的文档 ASP.NET MVC3默认情况下会拒绝所有访问地址以"_"开头的_*.cshtml文档.关于_*.cshtml文档,其实他是WebPages中的一部分,稍后将会详细介绍该以"_"文档的使用说明. 例如访问 http://localhost:7985/_V

Razor视图引擎-基础语法

原文:Razor视图引擎-基础语法 所有以 @开头 或 @{ /* 代码体 */ }  (在@与{直接不得添加任何空格) 的部分代码都会被ASP.NET引擎进行处理. 在 @{ /*代码体*/ } 内的代码每一行都必须以";"结束,如 @{ var i = 10; var y = 20; } 而 @xxx 则不需要以";"作为结束符,如 @i 输出 10 @y; 输出 20; 代码区内字母分大小写. 字符类型常量必须用""括起例如: @{ str

Mvc Razor视图引擎基础

<1> @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> @ViewData["time"

ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习

首页 头条 文章 频道                         设计频道 Web前端 Python开发 Java技术 Android应用 iOS应用 资源 小组 相亲 频道 首页 头条 文章 小组 相亲 资源 设计 前端 Python Java 安卓 iOS 登录 注册 首页 最新文章 经典回顾 开发 Web前端 Python Android iOS Java C/C++ PHP .NET Ruby Go 设计 UI设计 网页设计 交互设计 用户体验 设计教程 设计职场 极客 IT技术

ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. Razor在减少代码冗余.增强代码可读性和Visual Studio智能感知方面,都有着突出的优势.Razor一经推出就深受广大ASP.Net开发者的喜爱. 1.2 Razor的语法 (1)Razor文件类型:Razor支持两种文件类型,分

Razor视图引擎语法

@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>RazorView</title> </head> <body> <div> @(ViewBag.cName).cName </div

Razor 视图引擎 &ndash; ASP.NET MVC 4 系列

       Razor 视图引擎是 ASP.NET MVC 3 开始扩展的内容,并且也是默认视图引擎.        Razor 通过理解标记的结构来实现代码和标记之间尽可能顺畅的转换.下面的例子演示了一个包含少量视图逻辑的简单 Razor 视图: @{ // this is a block of code. For demonstration purposes, // we'll create a "model" inline. var items = new string[] {

ASP.NET Razor 视图引擎编程参考

ASP.NET Razor 视图引擎编程参考 转载请注明出处:http://surfsky.cnblogs.com Rasor 视图引擎    http://msdn.microsoft.com/zh-cn/library/ff849693.aspx    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b7937c34-3b53-47b7-ae17-5a72fa700472&displaylang=en    http:/

MVC Razor视图引擎

Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动态内容.在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码.由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库. Razor在减少代码冗余.增强代码可读性和VS智能感知方面,都有着突出的优势. Razor一经推出就深受所有ASP.Net开发者的喜爱. Razor 使