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,然后,很 ...
随机推荐
- axure 8.0 动态特效库分享
认准品牌 六脉神掌 尽量给每一个交互加上效果,尽量模拟真实的交互 无图无真相,我们先看效果图 1 这是还原Android Material Design风格的一个底部菜单效果 2 这个是模拟欢迎页面 ...
- linux上备份Oracle时EXP-00091的错误解决方法
unix/linux上备份Oracle时EXP-00091的错误解决方法 unix/linux上备份数据时的错误解决方法 EXP-00091: Exporting questionable stati ...
- ongl三种符号的使用
1.#符号 访问非根对象属性,由于Struts2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于ActionContext.getContext(): 用于过滤和投影(pro ...
- 手算KMP匹配的Next值和Nextval值
文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. KMP 算法我们有写好的函数帮我们计算 Next 数组的值和 Nextval 数组 ...
- 【转】cocos2d-x windows开发环境配置
声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交 ...
- 基于cygwin构建u-boot(一)环境搭建
从本文开始,更系统的描述基于cygwin构建u-boot. 之前<痛苦的版本对齐>系列,对于cygwin环境下Sourcery CodeBench,u-boot-1.1.6的构建有侧面的说 ...
- PHP结合Linux的cron命令实现定时任务
PHP死循环 来处理定时任务的效率是很低的.(众多网友评价)大家都建议使用Linux内置的定时任务crontab命令来调用php脚本来实现. PHP定时任务的两种方法:1.web方式调用php网页,但 ...
- 基于stm32f103zet6的FAT16文件系统学习1(初识FAT16)
有了之前读写block的基础之后,准备弄个文件系统,之前没有接触过这东西,所以有很多都晕晕的,但是看到fat的源代码之后还是挺有信心的,因为之前一直过uboot,所以这个文件当然是小巫见大巫了.首先来 ...
- qt 多线程之间通讯
问题描述:界面线程MainApp为主线程,工作线程MyThread为一子线程,从工作线程向主线程传递字符串用于在主线程中显示. Qt的信号与槽机制可以将任何继承自QObject类的对象捆绑在一起,使不 ...
- 汉子英文同行 连续英文不折行断行 的问题 兼容FIREFOX浏览器CSS
#intro {white-space: normal;word-break: break-all;overflow: hidden;} --------------------- 案例2