Razor语法的快捷参考http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/
只是copy下来便于查阅!
I gave a presentation to another team at Microsoft yesterday on ASP.NET MVC and the Razor view engine and someone asked if there was a reference for the Razor syntax.
It turns out, there is a pretty good guide about Razor available, but it’s focused on covering the basics of web programming using Razor and inline pages and not just the Razor syntax.
So I thought it might be handy to write up a a really concise quick reference about the Razor syntax.
Syntax/Sample | Razor | Web Forms Equivalent (or remarks) |
---|---|---|
Code Block |
@{ |
<% |
Expression (Html Encoded) |
<span>@model.Message</span> |
<span><%: model.Message %></span> |
Expression (Unencoded) |
<span> |
<span><%= model.Message %></span> |
Combining Text and markup |
@foreach(var item in items) { |
<% foreach(var item in items) { %> |
Mixing code and Plain text |
@if (foo) { |
<% if (foo) { %> |
Using block |
@ using (Html.BeginForm()) { |
<% using (Html.BeginForm()) { %> |
Mixing code and plain text (alternate) |
@if (foo) { |
Same as above |
Email Addresses |
Hi philha@example.com |
Razor recognizes basic email format and is smart enough not to treat the @ as a code delimiter |
Explicit Expression |
<span>ISBN@(isbnNumber)</span> |
In this case, we need to be explicit about the expression by using parentheses. |
Escaping the @ sign |
<span>In Razor, you use the |
@@ renders a single @ in the response. |
Server side Comment |
@* |
<%-- |
Calling generic method |
@(MyClass.MyMethod<AType>()) |
Use parentheses to be explicit about what the expression is. |
Creating a Razor Delegate |
@{ |
Generates a Func<T, HelperResult> that you can call from within Razor. See this blog post for more details. |
Mixing expressions and text |
Hello @title. @name. |
Hello <%: title %>. <%: name %>. |
NEW IN RAZOR v2.0/ASP.NET MVC 4 | ||
Conditional attributes |
<div class="@className"></div> |
When className = null
<div></div> When <div class=""></div> When <div class="my-class"></div> |
Conditional attributes with other literal values |
<div class="@className foo bar"> |
When className = null
<div class="foo bar"></div> Notice the leading space in front of <div class="my-class foo bar"> |
Conditional data-* attributes.
data-* attributes are always rendered. |
<div data-x="@xpos"></div> |
When xpos = null or ""
<div data-x=""></div> When <div data-x="42"></div> |
Boolean attributes |
<input type="checkbox" |
When isChecked = true
<input type="checkbox"
<input type="checkbox" /> |
URL Resolution with tilde |
<script src="~/myscript.js"> |
When the app is at /
<script src="/myscript.js"> When running in a virtual application named <script src="/MyApp/myscript.js"> |
Notice in the “mixing expressions and text” example that Razor is smart enough to know that the ending period is a literal text punctuation and not meant to indicate that it’s trying to call a method or property of the expression.
Let me know if there are other examples you think should be placed in this guide. I hope you find this helpful.
UPDATE 12/30/2012:I’ve added a few new examples to the table of new additions to Razor v2/ASP.NET MVC 4 syntax. Razor got a lot better in that release!
Also, if you want to know more, consider buying the Progamming ASP.NET MVC 4 book. Full disclosure, I'm one of the authors, but the other three authors are way better.
Asp.net MVC razor语法参考的更多相关文章
-
ASP.NET MVC Razor语法
ASP.NET MVC Razor语法 (一) 关于_ViewStart.cshtml文件 使用Razor模板引擎的话,会自动生成一个_ViewStart.cshtml文件.事实上,_View ...
-
asp.net MVC Razor 语法(1)
Razor 不是编程语言.它是服务器端标记语言. 什么是 Razor ? Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法. 当网页被写入浏览器时, ...
-
ASP.NET MVC Razor语法及实例
1.混合HTML与Razor脚本 知识点:(1).cshtml怎样引用访问数据, (2).if for 与html嵌套 @using System.Data @using CIIC.TCP.Enti ...
-
asp.net MVC Razor 语法(2)
变量是用于存储数据的命名实体. 变量 变量用于存储数据. 变量名必须以字母字符开头,不能包含空格和保留字符. 变量可以是某个具体的类型,指示其所存储的数据类型.字符串变量存储字符串值 ("W ...
-
asp.net MVC Razor 语法(3)
编程逻辑:执行基于条件的代码. If 条件 C# 允许您执行基于条件的代码. 如需测试某个条件,您可以使用 if 语句.if 语句会基于您的测试来返回 true 或 false: if 语句启动代码块 ...
-
ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 ASP.NET没有魔法——ASP.NET MVC界面美化及使用Bundle完成静态资源管理
ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的 ...
-
MVC Razor 语法(转)
http://blog.csdn.net/pasic/article/details/7072340 原文地址:MVC Razor 语法(转)作者:panzhaowen_jacki 语法名称 Razo ...
-
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
摘录 文章主要是介绍了通过一个第三方类库RazorJS,实现Javascript 文件里使用 .Net MVC Razor 语法,很巧妙,推荐给大家 相信大家都试过在一个 View 里嵌套使用 jav ...
-
Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html
Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html 1.前言 上一篇文章我开源了*,Asp.net Core 3.1 Razor视图模版动态渲染PDF,然后,很 ...
随机推荐
-
巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁)
本文依赖于一个基础却又容易混淆的css知识点:当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!也许你会说, ...
-
hdu 5773 The All-purpose Zero 最长上升子序列+树状数组
题目链接:hdu 5773 The All-purpose Zero 官方题解:0可以转化成任意整数,包括负数,显然求LIS时尽量把0都放进去必定是正确的. 因此我们可以把0拿出来,对剩下的做O(nl ...
-
nginx常用变量
$args, 请求中的参数; $content_length, HTTP请求信息里的”Content-Length”; $content_type, 请求信息里的”Content-Type”; $do ...
-
ThinkPad L421 如何禁用触摸板
控制面板 - 硬件和声音 - 鼠标 . 选中如下图所示的 UltraNav 选项卡. 将 启用 TouchPad 前的 √ 去掉即可. 如果没有 UltraNav 这一选项卡,可至联想官网下载相关驱动 ...
-
J2EE入门必备
1,J2EE是什么 J2EE(Java 2 platform Enterprise Edition)是软件平台,适于创建服务器端的大型应用软件和服务系统. J2EE适合开发大规模的业务系统,这种级别的 ...
-
RHEL 6.3使用CentOS yum源 (redhat yum安装失败)
由于Redhat的yum在线更新是收费的,如果没有注册的话是不能使用的,即不能在线安装软件.所以yum install 命令每次都安装失败 下面介绍一种更改yum源的方式: 系统说明: 系统:Red ...
-
poj2481 Cows 树状数组
题目链接:http://poj.org/problem?id=2481 解题思路: 这道题对每组数据进行查询,是树状数组的应用.对于二维的树状数组, 首先想到排序.现在对输入的数据按右值从大到小排序, ...
-
翻译:MariaDB RENAME TABLE语句
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
-
python3随机数函数
随机数函数 choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数. randrange ([start,] stop ...
- eclipse自身导致的项目问题:上边提示需要移除无用包,下边类提示需要导入包。