Razor引擎常规用法

1、隐匿代码表达式

  例: @model.name 会将表达式的值计算并写入到响应中,输入时采用html编码方式

2、显示表达式

  例:@(model.name)会将输入@model.name字符串

3、无编码表达式 明确表渲染不应该采用html编码方式

  例:@Html.Raw(model.name),会把model.name值计算原值输入,不经过Html编码处理。

4、@{代码块}可以在代码块中写C#代码,并可以在view使用

  例:@{

    var objname="mike";

    var age=18;

    }   在view中渲染时@objname输出为mike

5、文本和标记组合

  例 @foreach(var item in items){

    <span>Item @item.Name</span>

  }

6、混合代码和纯文本 通过text标签输入文本内容或者使用@:输入文本内容。

  例 @if(age>=18){

    <text> 成年</text>

    }

    else{

    @:未成年

    } 两则输入为:成年,未成年

  

7、@转义 @@可以对@进行转义操作也可以使用()进行转义操作

  例:假设model对象name属性值为mike,想要在view中显示@model.name=mike

  操作方法1:@@[email protected]

  操作方法2:@(model.name)[email protected]

  操作方法3:&#[email protected]

8、注释   @*此间内容编译时均会被忽略,多行也会被忽略*@

  例:@*

    *@

时间: 2024-10-17 04:38:41

Razor引擎常规用法的相关文章

Razor引擎学习:RenderBody,RenderPage和RenderSection

RenderBody,RenderPage和RenderSection 1. RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到<body>标签里有这样一条语句: @RenderBody() 其实它的作用和母版页中的<contentplaceholder>服务器控件类似,当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@Ren

Razor语法和Razor引擎大全

一.Razor语法 1.Razor的标识符 解释:@字符被定义为Razor服务器代码块的标识符,后面的表示是服务器代码了.web form中使用<%%>中写服务器代码一个道理.在vs工具里面提供了代码着色和智能感应的功能. @{ string userName = "启超"; <span>我的名字叫:@userName</span> <span>我的出生日期:@DateTime.Now.ToString("yyyy-MM-dd&

关于Razor引擎的语法说明

1.在页面上显示字符串的值, 格式:a*@变量名 但@之前必须有空格,{.}等,使得a*不可以构成变量的字符. (图1.1,此种格式razor引擎不会解析该变量) (图1.2 razor引擎不会解析该变量) -------------------------- ps: 显示的格式如下: -------------------------- 我们的问题来了,如果我们要abc3怎么办? 2.在页面上显示@ 如需要在页面输出"@"字符可以使用HTML ASCII编码@ 3.语句@{....}

[asp.net mvc 奇淫巧技] 02 - 巧用Razor引擎在Action内生成Html代码

在web开发中经常会遇到在内部代码中获取Html,这些Html是需要和数据进行一起渲染.并不是直接把Html代码返回给客户端.这样的做法有很多应用场景,例如分页.Ajax一次性获取几段Html片段.生成邮件发送模板.生成Html静态页面等等.比较简单的或者容易想到的做法就是直接拼接Html,当然这肯定不是最合适的做法. 应用场景 1.在分页中,有一种做法是用ajax获取table的html代码和一些分页信息的Json var json = { "table": "<ta

jade模板引擎简明用法

①.特性 首个单词为标签,有一些不能识别的标签可作为code,如each for case if  else if unless zen coding风格添加标签,如 .nb#hello 生成 <div class="nb" id="hello"></div> 缩进必须统一使用tab或space,否则会报错 通过缩进来表示嵌套关系,这个很重要!如 p a   生成 <p><a></a></p>

Mvc 模板化的Razor引擎委托

最近在研究NopCommerce,它后台用的富文本编辑器可根据语言库加载不同语言的编辑器,其中用到了模板化Razor引擎委托,参考这儿 废话不多说,直接上代码. 1 public static class HtmlExtensions 2 { 3 public static HelperResult ToList<T>(this IEnumerable<T> items, Func<T, HelperResult> template) 4 { 5 return new

flush 的常规用法:

flush  logs : 刷新二进制日志文件 flush  PRIVILEGES:刷新权限,修改权限或密码后,需要使用到该命令 flush tables:关闭所有表,并清空缓存中的类容 . flush tables with read lock:关闭所有打开的表,并且对所有DB中的表添加一个读锁, 直到显示执行unlock tables .该命令常用语备份数据. flush master :删除所有二进制日志索引文件中的二进制日志文件,重置二进制日志文件的索引文件为空, 创建一个新的二进制日志

RE正则的常规用法

1.re的简介 使用python的re模块,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析并提取出相关信息.python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配. 复制代码 代码如下: import re print re.__doc__ 可以查询re模块的功能信息,下面会结合几个例子说明. 2.re的正则表达式语法 正则表达式语法表如下: 语法 意义 说明 "." 任意字符   "^" 字符串

ASP.NET MVC 利用Razor引擎生成静态页

实现原理及步骤: 1.通过ViewEngines.Engines.FindView查找到对应的视图,如果是部分视图,则用:ViewEngines.Engines.FindPartialView: 2.设置上下文对象里的Model: 3.调用视图的Render()方法,将渲染结果保存到物理静态文件: 使用视图引擎进行静态化操作,主要使用到了两个类:ViewEngines类和ViewContext类.通过ViewEngines类的FindView方法或FindPartialView方法找到要进行静态