MVC4相关Razor语法分析.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MVC4相关Razor语法分析

默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下:[csharp]view plaincopyprint?@{?Layout?=?~/Views/Shared/_Layout.cshtml;}??[csharp]view plaincopyprint?@{?Layout?=?~/Views/Shared/_Layout.cshtml;}??@{ Layout = ~/Views/Shared/_Layout.cshtml;}这里的 ?@{Layout=文件路径;}??代码块指定了整个项目默认所使用的布局文件(如图:)左边蓝色部分显示了MVC4提供的默认的布局文件,我们看看_Layout.cshtml里面的内容:不难看出,_Layout.cshtml里面就是html静态页面。对于里面的一些语法做简单的说明:@RenderBody()对于所有的页面默认的情况下都会使用这个布局(WebForm的模板) @RenderBody()相当于一个占位符其他页面的所有内容都会被引擎渲染在这个地方。@RenderSecion()这个占位符表示:在这里会渲染页面里面的一个节(可以是html代码也可以是c#代码和Html的结合体)。Note:假如你不想使用默认的布局,或者是你的web应用有多个页面布局文件怎么办呢?其实很简单,例如:你新建了一个view页面UserInfo.cshtml,你可以在UserInfo.cshtml文件里面写上@{Layout = null;}就可以了,这个时候就不会应用布局文件了,假如你想定义一个新的布局(依照惯例优先的原则),我们在Views/Shared下面创建一个自己的布局_MyLayout.cshtml文件,然后我们给我们创建的新页面指定如下的布局就行了:@{ Layout = ~/Views/Shared/_MyLayout.cshtml;} 对于上面的@RenderSection(scripts, required: false)做一个补充说明,第一个参数指明:在子页面被渲染的节的名称,第二个参数:指定子页面这个节是否是必需的,如果指定了required:true;但是在子页面没有给这个名称的节的话,编译是通不过的。如果我们想在母版页使用默认的节可以做如下的判断:[csharp]view plaincopyprint?@if(IsSectionDefined(sectionName))???{?????????@RenderSection(sectionName)???}??else???{?????????span默认节/span???}??[csharp]view plaincopyprint?@if(IsSectionDefined(sectionName))???{?????????@RenderSection(sectionName)???}??else???{?????????span默认节/span???}??@if(IsSectionDefined(sectionName)) { @RenderSection(sectionName) }else { span默认节/span }假如子页面有这个节我们就渲染子页面的,没有的话就显示我们默认的Html块(例如:网站的头部,底部,侧边栏等等)。Razor语法的分类基本语法[csharp]view plaincopyprint?@using?:引入命名空间??@model:声明强类型的数据Model类型??@section:定义要实现母版页的节信息???@RenderBody():当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@RenderBody()方法呈现在标签之间。??@RenderPage:呈现一个页面。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:??????????????????????????@RenderPage(~/Views/Shared/_Header.cshtml)??@RenderSection:布局页面还有节(Section)的概念,便于局部呈现??[csharp]view plaincopyprint?@using?:引入命名空间??@model:声明强类型的数据Model类型??@section:定义要实现母版页的节信息???@RenderBody():当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@RenderBody()方法呈现在标签之间。??@RenderPage:呈现一个页面。比如网页中固定的头部可以单独放在

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档