ASP.NET MVC4 学习系统五(Razor)
Razor ,你好!
Razor 是一种把代码和内容进行平滑集成的语法。尽管它引入了一些新的符号和关键字,但是Razor并不是一种新的语法。相反,Razor允许用户使用已知的语言来编写代码,比如C#,VB.NET
Razor的学习门槛很低,因为它允许使用已经具备的技能,而不要求学习一种新的语言。因此如果知道如何编写HTML或者使用C#编写代码,就可以轻易编写下面类似的代码:
<div>this page rendered at @DateTime.Now</div>
<div>this page rendered at @DateTime.Now
<ol>
@for (int i = 0; i < 6; i++)
{
<li><a style="font:100;color:blue" href="http://www.baidu.com">不知道,就百度一下!</a></li>
}
</ol></div>Razor , 是一种把代码和内容进行平滑集成的语法。尽管它引入了一些新的符号和关键字,但是Razor并不是一种新的语法。相反,Razor允许用户使用已知的语言来编写代码,比如C#,VB.NET
Razor的学习门槛很低,因为它允许使用已经具备的技能,而不要求学习一种新的语言。因此如果知道如何编写HTML或者使用C#编写代码,就可以轻易编写下面类似的代码:
<div>this page rendered at @DateTime.Now</div>
区分代码和标记语言
Razor提供了两种不同的方式区分代码和标签:代码段和代码块。
代码段是一些简单的表达式,它们可以在一 行中进行渲染,也可以与文件混合,例如:
NOT Logged in:@Html.ActionLink("Login","Login")
代码块
代码块是一段包含代码的视图,它只包含代码,而不是代码和标记语言的混合。Razor定义的代码块要求使用“@{}”包装。“@{标记开妈,中间不确定行数,以}”结尾。
记住,代码块里的代码与代码段里的代码不同,前者是常规代码,必须符合当前语言的语法。例如,每行C#代码必须以“;”结尾,这与在.cs文件里编写C#类的代码一样。
如下:
@{
LayoutPage="~/Views/Shared/_Layout.cshtml";
View.Title="Auction"+Model.Title;
}
代码块不能渲染任何东西。相反,它允许用户编写任意没有返回值的代码。
同样,代码块里定义的变量可能被同一个域中的代码段使用。像foreach循环休里定义 的变量只能被容器内的代码访问,而定义在视图顶部的变量可以被相同视图中的代码块和代码段访问。
代码块是一种可以在模板中执行代码但是又不会返回任何值给视图的方式。与代码段不同的是:它不需要返回值,视图会完全忽略代码块的返回值。
ASP.NET MVC4 学习系统五(Razor)的更多相关文章
- ASP.NET MVC4 学习系统一(项目模板)
项目模板 1.空模板 空模板用于创建ASP.NETMVC 4网站的架构,包含基本的文件夹结构,以及需要引用的asp.netmvc程序集,也包含可能要使用的javaScript 库.模板同样包 ...
- ASP.NET MVC4 学习系统四(视图)
视图(Views) 在ASP.NET MVC框架中,想要返回给用户HTML的控制器操作,就要返回ActionResult类型的ViewResult实例,ActionResult知道如何渲染应答结 ...
- ASP.NET MVC4 学习系统三(控制器Controller)
控制器(Controllers) 在MVC架构模式的上下文里,控制器响应用户的输入(比如,用户点击“保存”按钮),并协调模型.视图以及(经常)数据访问层.在ASP.NET MVC程序里,控制器就 ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- ASP.NET MVC4学习笔记路由系统概念与应用篇
一.概念 1.路由是计算机网络中的一个技术概念,表示把数据包从一个网段转发至另一网段.ASP.NET中的路由系统作用类似,其作用是把请求Url映射到相应的"资源"上,资源可以是一段 ...
- asp.net mvc4 学习笔记一(基本原理)
做了8年的asp.net webform,用过MVVM但还没用过MVC , 虽然项目不用MVC,但是还是想了解一下,今天第二天学习,以下是学习心得. VS2012默认带有asp.net mvc3和as ...
- ASP.NET MVC4 学习记录
之前在学习Artech的<ASP.NET MVC4框架揭秘>一书,学习过程中画了ASP.NET MVC4框架的草图,方便记忆.
- asp.net mvc4 学习1
1 简介:微软在很早就看到了基于windows系统的web开发平台的需求,这时便开始提出自己的解决方案即微软的第一个基于web开发的平台ASP.再后来随着需求和性能的要求再2002年推出第二个解决方案 ...
- ASP.NET MVC4学习笔记路由系统实现
一.路由实现 路由系统实际是一个实现了ASP.NET IHttpModule接口的模块,通过注册HttpApplication的PostResolveRequestCache 事件对Url路由处理.总 ...
随机推荐
- Akka(二) - Future
1. future的所有方法都是非阻塞立即返回的 (1)future都要有TimeOut和ExecutionContextExecutor这2个隐士参数 (2)打印future object Hell ...
- 使用SparkSQL实现多线程分页查询并写入文件
一.由于具有多张宽表且字段较多,每个宽表数据大概为4000万条,根据业务逻辑拼接别名,并每张宽表的固定字段进行left join 拼接SQL.这样就能根据每个宽表的主列,根据每个宽表的不同字段关联出一 ...
- JavaScript事件基础知识总结【思维导图】
另外附上来自Nicholas C.Zakas<JavaScript高级程序设计 第3版>中的跨浏览器兼容EventUtil对象. var EventUtil = { //注册事件 addH ...
- 【Java】图片高质量缩放类
package com.test; import com.sun.image.codec.jpeg.JPEGImageEncoder; import com.sun.image.codec.jpeg. ...
- Eclipse中构建Fluent风格到Formatter
The place to set this is on the "Line Wrapping" tab of the code formatting preferences pag ...
- TNT平台
1, TNT平台 本词条缺少信息栏.名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! TNT平台中的开发平台是基于微软Jupiter平台的快速开发工具,开发者可以通过界面属性设定的方法来 ...
- ylbtech-LanguageSamples-Threading(线程处理)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Threading(线程处理) 1.A,示例(Sample) 返回顶部 “线程处理”示例 ...
- PHP批量替换MySql数据库中的数据内容(替换MySql数据库内容源码)
PHP批量替换MySql数据库内容 UTF-8 1.0版 <?php //声明 //1.本源码开发意图:作者在使用一些CMS建站的时候发现很多CMS把网址写入到数据库了,如果换网址,那么就需要更 ...
- git同步开发更新至项目目录(转载)
From:http://toroid.org/ams/git-website-howto 本地版本库中存放开发的项目代码.以下内容介绍如何将本地版本库修改通过执行“git push web”命令同步到 ...
- Java多线程之新类库中的构件PriorityBlockingQueue
package concurrent2; import java.util.ArrayList; import java.util.List; import java.util.Queue; impo ...