Asp.net MVC razor语法参考
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,然后,很 ...
随机推荐
- ServiceAccount 枚举
指定服务的安全上下文,安全上下文定义其登录类型. 命名空间: System.ServiceProcess程序集: System.ServiceProcess(在 System.ServicePro ...
- AsyncTask使用注意事项
AsyncTask是android自带的一个异步处理线程 它带了很多参数 都很方便使用 但是有一些注意事项 1: 官网说明: AsyncTasks should ideally be used for ...
- [转]CENTOS6 VNCSERVER安装
标签:vncservercentos6.0 ssh隧道 vncviewer centos 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...
- 1217.1——OC准备
#import 与 #include区别 include完成头文件的导入,可能会导致头文件的相互引用和函数或变量的重复定义 为了解决这个问题 我们必须这样做 #ifndef Student_h #de ...
- python多线程抓取网页信息
#!/usr/env python #-*- coding: utf-8 -*- import urllib import urllib2 import random import requ ...
- MYSQL操作的一些知识点,持续更新中····
基本概念——库 1.数据库服务器:库——>表——>行/列 2.cmd下链接: mysql – uroot –proot 3.创建库:create database php; 3.看数据库 ...
- CSS3 @font-face 指定英文网页字体
@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体.可能有人要问 ...
- PHP读取EXCEL时写入数据乱码解决办法
第一步排除excel读取的数据是不是乱码 EXCEL读取时经常会出现乱码,而我们常用的字符集是UTF-8 ,GB2312(GBK) ,这就需要对编码进行转换,但是又不能对纯数字和英文字符转换,否则会乱 ...
- Taglib、EL、OGNL
Taglib.EL.OGNL 阅读目录 1. Taglib(tag library) 标签库 2. EL(Expression Language) 表达式 3. OGNL(Object-Graph N ...
- C++----练习--整型赋值时的溢出
1.如果所赋的值超出了类型的取值范围.那么只保留最低位 #include<iostream> int main() { ; //unsigned char c = 256; 有无符号都是一 ...