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路由处理.总 ...
随机推荐
- linux svn迁移备份的三种方法
原文:http://www.iitshare.com/linux-svn-migration.html svn备份方式对比分析 一般采用三种方式: 1.svnadmin dump 2.svnadmin ...
- 正则表达式中的\b
转自百度知道:https://zhidao.baidu.com/question/58688915.html\b表示的应该是ASCII码中的BS字符(退格字符),匹配字与字中间那个看不见的东西(即一个 ...
- 打印1到最大的n位数
打印1到最大的n位数----java实现 题目:输入数字n,按顺序打印出从1到最大的n位十进制数.比如,输入3,则打印出1,2,3,.....,一直到最大的3位数即999. 分析: 1.这是一个典型的 ...
- iostat命令详解 IO性能分析
简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间 ...
- 两个Python web框架:Django & Tornado比较
就是说它作为 web 框架比 Django 简单,又支援异步 IO,且更不需要前端的 webserver ? 我已经混乱了, Tornado是 Nginx.Django.Node.js 的结合体?又或 ...
- make[1]: *** [pcrecpp.lo] 错误 1
在安装:pcre-8.30 时,报如下错误: [root@localhost pcre-8.30]# make && make installmake all-ammake[1]: ...
- Python基础03 序列
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的 ...
- StateMachine
Create State Machine Create either a passive or an active state machine: ? 1 var fsm = new PassiveSt ...
- linux 好玩的命令
发现一个linux好玩的命令,随机显示名言警句和诗词:fortune 和 fortune-zh (中文) cowsay: 小动物说话- ________________________________ ...
- 第一个APP:IOS做简单运算的计算器
步骤: 1.打开Xcode,单机Creat a new Xcode project 2.左边选择ios下Application,右边选择single view Application 3.填写项目名称 ...