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{
    @*節點代碼*@
}

均不會發生異常。

相關文章
相關標籤/搜索