MVC4相关Razor语法教程.docxVIP

  • 6
  • 0
  • 约1.13万字
  • 约 8页
  • 2017-04-25 发布于湖北
  • 举报
MVC4相关Razor语法教程

PAGE8 / NUMPAGES8 默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下: [csharp]  HYPERLINK /applewangpai/article/details\o view plain \t _blank view plain HYPERLINK /applewangpai/article/details\o copy \t _blank copy HYPERLINK /applewangpai/article/details\o print \t _blank print HYPERLINK /applewangpai/article/details\o ? \t _blank ? @{?Layout?=?~/Views/Shared/_Layout.cshtml;}?? [csharp]  HYPERLINK /hcf_force/article/details\o view plain view plain HYPERLINK /hcf_force/article/details\o copy copy HYPERLINK /hcf_force/article/details\o print print HYPERLINK /hcf_force/article/details\o ? ? @{?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]  HYPERLINK /applewangpai/article/details\o view plain \t _blank view plain HYPERLINK /applewangpai/article/details\o copy \t _blank copy HYPERLINK /applewangpai/article/details\o print \t _blank print HYPERLINK /applewangpai/article/details\o ? \t _blank ? @if(IsSectionDefined(sectionName))??? {??? ??????@RenderSection(sectionName)??? }?? else??? {??? ??????span默认节/span??? }?? [csharp]  H

文档评论(0)

1亿VIP精品文档

相关文档