ASP.NET MVC使用RenderSection渲染节点

在Views\Shared目录下,建立一个Layout Page:html

 

取个名字为_LayoutPage1.cshtml:ui

 

第#13行代码:code

@RenderSection("myName", required: false) 


名称为"MyName",第二个参数设为false。这样的话,在视图中有定义MyName节点,它就会显示,反之不显示。

建立一个控制器Default1Controller.cs:htm

 

控制器一旦建立成功,在MVC5或之后版本中,自动在Views目录下,以控制器名建立相应的目录。下面新建一个视图:blog

 

浏览结果:get

 

 

若是咱们在_LayoutPage1.cshtml中,把#13行代码的参数,设为true:io

@RenderSection("myName", required: true)


那说明,咱们只要引用这个Layout page的视图,均要定义:class

@section myName{
    @*节点代码*@
}


若是没有定义,视图在运行时,它会显示一个异常:require

 

其实,咱们有另一个方法,是在Layout page中去判断:file

 

这样个修改以后,全部引用这个Layout page的视图,无论是否有定义下面代码:

@section myName{
    @*节点代码*@
}

均不会发生异常。

相关文章
相关标签/搜索