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路由处理.总 ...
随机推荐
- PLSQL_性能优化系列08_Oracle Insert / Direct Insert性能优化
2014-09-25 Created By BaoXinjian
- NeHe OpenGL教程 第二十八课:贝塞尔曲面
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 数据库还原总提示空间不够,磁盘卷 'D:\' 上的可用空间不足,无法创建数据库
从数据库上备份下来bak格式的数据库文件之后,在本地数据库欢迎的时候总是提示空间不够. 这种情况一般在从64位电脑上面备份的数据库文件,还原到32位的sqlsever上面. System.Data.S ...
- Spring 的 BeanPostProcessor接口实现
今天学习了一下Spring的BeanPostProcessor接口,该接口作用是:如果我们需要在Spring容器完成Bean的实例化,配置和其他的初始化后添加一些自己的逻辑处理,我们就可以定义一个或者 ...
- ruby4种比较符号
The == comparison checks whether two values are equal eql? checks if two values are equal and of the ...
- 基于NPOI的Execl导入导出例子
源地址:http://bbs.csdn.net/topics/390830774
- sql如何获取一个时间段内的月份
),) from master..spt_values where type='P' and dateadd(month,number,'2010-01-01')<='2010-09-01' / ...
- C Primer Plus(第五版)5
第5章 运算符,表达式和语句 5.1 循环简单 程序清单 5.1 显示了一个示例程序,该程序做了一点算术运算来计算穿 9 码鞋的脚用英寸表示的长度.为了增加你对循环的理解,程序的第一版演示了不使用循环 ...
- C Primer Plus(第五版)2
在本章中你将学习下列内容------------------------------------------------------------------1.运算符:= 2.函数:main(),pr ...
- (转)c# math 计算两点之间的角度公式
计算两点之间的角度公式是: 假设点一(X1,Y1),点二(X2,Y2) double angleOfLine = Math.Atan2((Y2 - Y1), (X2 - X2)) * 180 / Ma ...