MVC3----Razor语法

--------------任何时候Razor有了二义性,都可以用圆括号指明想要的内容

@{string str="zhangdi";
  MvcApplication1.Models.Album alb=new  MvcApplication1.Models.Album ();
  alb.Title = "a";
  }
  <!--输出:zhangdi.aa-->
 <li>@(str).aa</li>
 <!--输出:962410314a-->
 <li>[email protected](alb.Title)</li>

 <!--输出962410314 @alb.Title-->
 <li>962410314 @@alb.Title</li>

--------------Html编码

 @{
     string script = "<script>alert(‘xss攻击‘)</script>";
     }
<!--不显示html标记-->
<li>@script</li>
<!--显示html标记-->
<li>@Html.Raw(script)</li>

<script type="text/javascript">
    $(function () {
        var msg = ‘@ViewBag.User‘;
        $("#message").html(msg);

        var msg2 = ‘@Ajax.JavaScriptStringEncode(ViewBag.User)‘;
        $("#message2").html(msg2);
    });
</script>
<li id="message"></li><!--输出:<script>alert(‘asdasd‘)</script>-->
<li id="message2"></li><!--输出:弹出框‘asdasd‘-->

<!--显示:\u003cscript\u003ealert(\u0027asdasd\u0027)\u003c/script\u003e-->
@Ajax.JavaScriptStringEncode(ViewBag.User)

--------------Razor语法

<!--1,隐式识别代码-->
<li>@ViewBag.Message</li>

<!--2,显示识别代码-->
<li>[email protected](ViewBag.Message)</li>

<!--3,无编码代码-->
<li>@Html.Raw(ViewBag.Message)</li>

<!--4,代码块-->
@{
    int x = 1;
    string abc = "abc";
}

<!--5,文本域标记相结合-->
@foreach (var item in new int[]{1,2,3})
{
    <li>@item</li>
}

<!--6,混合代码与纯文本-->
@if (ViewBag.Message == "<h style=‘color:red‘>zhangdi</h>")
{ 
    <text>张迪</text>
}

@*7,转义代码分隔符(转义为@)*@
<li>@@</li>

<!--8,服务器的注释-->
@*
@for (int i = 0; i < 10; i++)
{
			 
}*@

<!--9,调用泛型方法-->
@*泛型方法等也需要显示使用(),因为"<"标记会使Razor转回标记*@
时间: 2024-08-22 21:10:26

MVC3----Razor语法的相关文章

Asp.net MVC3 Razor语法小记

Asp.net MVC3 Razor语法小记 1.在MVC View中使用 三元运算符的方式:@(bool?"":"") 2.在@{}中输出一行:@:<html>.如果这一行的上下文在程序代码中则用:@Html.Raw(string.Format(""));而不是Html.Raw(); 3.Radio默认选中: @Html.RadioButtonFor(m => m.BookType, 0, new { @checked=&qu

MVC3/4/5/6 布局页及Razor语法

一.目录结构 二.Razor语法 代码块:@{},如:@{Html.Raw(“”);} @if(){} @switch(){} @for(){} @foreach(){} @while(){} @do{}while(){} 代码块内语句以分号结束 表达式或变量:以@开始,如:@User.Name或@(User.Name + “欢迎你”),@() 变量可以通过var来声明,且只能在代码块中,如:@{var abc=”aaa”;} 方法调用:以@开始,如:@Html.Encode(“”) 单行文本输

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

Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活更简洁.下面通过一些简单示例让大家快速撑握Razor语法的使用. 准备工作 在演示Razor语法的使用之前,我们需要做一些准备工作. 1.打开VS创建一个ASP.NET MVC空项目,很简单,就不具体演示了. 2.添加一个Model.在项目的Models文件夹中添加一个名为Product的类.在这我们把前一篇

Asp.net MVC]Asp.net MVC5系列——Razor语法

目录 概念 Razor语法 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列--第一个项目 [Asp.net MVC]Asp.net MVC5系列--添加视图 [Asp.net MVC]Asp.net MVC5系列--添加模型 [Asp.net MVC]Asp.net MVC5系列--从控制器访问模型中的数据 [Asp.net MVC]Asp.net MVC5系列--添加数据 [Asp.net MVC]Asp.net MVC5系列--在模型中添加验证规则 [Asp.net

【Razor语法规则小手册....】

在经过长达半年的Windows开发后,Razor的一些语法有些生疏了.搜集些,再熟悉下.呵呵,甚是怀念以前做web 项目的时候,基于动软代码生成器自定义T4模板,后来vs2010后开始支持T4模板. 又是一顿.tt文件.最后动软也升级了T4模板.然后就呵呵呵了.但是vs2010出现   Razor引擎!!又是一套模板引擎.............更新迭代速度越来越快...... ASP.NET mvc 1-2 的View引擎就是基于T4模板引擎,标记为 :<##> (动软代码生成器确实是T4引

[ASP.NET MVC 小牛之路]03 - Razor语法(转)

出处:http://www.cnblogs.com/willick/p/3224144.html Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活更简洁.下面通过一些简单示例让大家快速撑握Razor语法的使用. 本文目录 准备工作 在演示Razor语法的使用之前,我们需要做一些准备工作. 1.打开VS创建一个ASP.NET MVC空项目,很简单,就不具体演

MVC之Razor语法

Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活更简洁.下面通过一些简单示例让大家快速撑握Razor语法的使用. 准备工作 在演示Razor语法的使用之前,我们需要做一些准备工作. 1.打开VS创建一个ASP.NET MVC空项目,很简单,就不具体演示了. 2.添加一个Model.在项目的Models文件夹中添加一个名为Product的类.在这我们把前一篇

[ASP.NET MVC 小牛之路]03 - Razor语法--转载

Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活更简洁.下面通过一些简单示例让大家快速撑握Razor语法的使用. 本文目录 准备工作 在演示Razor语法的使用之前,我们需要做一些准备工作. 1.打开VS创建一个ASP.NET MVC空项目,很简单,就不具体演示了. 2.添加一个Model.在项目的Models文件夹中添加一个名为Product的类.在这我

知识点2-5:了解Razor语法

以往开发ASP.NET Web Form时,在ASPX页面上都会出现许多夹杂C#/VB.NET与HTML的情况,而先前使用<%...%>这种传统圆角括号的表示法会让HTML标签与ASP.NET代码区块混杂一起,当页面变得复杂后,这类混合的代码也开始变得难以阅读,相信大家都有相同的感受. 从ASP.NET MVC3开始引入了全新的Razor语法,用@符号来代表代码段,试图提供一个容易学习又精简的语法.Razor语法推出之后,广受ASP.NET MVC开发人员的喜爱,搭配Visual Studio

Razor 语法

Razor 语法 原文:Razor Syntax Reference作者:Taylor Mullen.Rick Anderson翻译:刘怡(AlexLEWIS)校对:何镇汐 什么是 Razor? Razor 是一种基于服务器端代码的可以转换为网页的标记语法.Razor 语法包括 Razor 标记.C# 和 HTML 组成.包含 Razor 的文件通常后缀名为 .cshtml . 渲染 HTML Razor 的默认语言是 HTML.从 Razor 渲染为 HTML 和直接一个 HTML 文件没啥区