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路由处理.总 ...
随机推荐
- C#如何使用HttpWebRequest、HttpWebResponse模拟浏览器抓取网页内容
public string GetHtml(string url, Encoding ed) { string Html = string.Empty;//初始化新的webRequst HttpWeb ...
- codeforces 439 E. Devu and Birthday Celebration 组合数学 容斥定理
题意: q个询问,每一个询问给出2个数sum,n 1 <= q <= 10^5, 1 <= n <= sum <= 10^5 对于每一个询问,求满足下列条件的数组的方案数 ...
- MST_kruskal
kruskal是求最小生成树的算法. 首先,kruskal就是把所有边按照权值从小到大的顺序排列,这一步可以直接使用sort,然后依次考查每一条边,设w=(u,v)表示从u到v的一条边的权值为w,则有 ...
- svn 中 版本回退
譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10. Revert to this revision: 如果在版本6这里点击“Revert to this revision ...
- KEIL编译错误总结:
1 expected an identifier:#define宏定义常量后,如果再用前面定义的常量作为枚举常量就会报错,方法,去掉#define宏定义
- 30天轻松学习javaweb_https协议的密码学
https通过非对称加密实现数据安全1.CA机构提供数字证书,其中数字证书包含公钥.2.浏览器自带功能验证数字证书是否是CA机构颁发的.3.根据数字证书包含的公钥对表单数据进行加密.4.公钥提供方再根 ...
- 使用bs4对海投网内容信息进行提取并存入mongodb数据库
example: http://xyzp.haitou.cc/article/722427.html 首先是直接下载好每个页面,可以使用 os.system( "wget " ...
- [ActionScript 3.0] AS3 深入理解Flash的 应用程序域Application Domains
简介 网上有很多flash,通常都不需要显示的使用应用程序域,因为默认的应用程序域就够用了.其实复杂的情况下需要用到应用程序域,比如说有两个不同的swf,一个是旧版本的,一个是新版的,这两个文件里的类 ...
- php mssql 中文各种乱码
1 查询输出时乱码 (SELECT ) 因为MSSQL 数据库一般都是 GBK 编码,所以在php页面中加入 header('Content-Type:text/html; charset=GBK' ...
- Eclipse 常用设置
1. eclipse中的汉字横着显示怎么解决 同一种字体有两种显示方式,比如Fixedsys Excelsior 3.01和@Fixedsys Excelsior 3.01,前一种汉字是竖着显示,后一 ...