ASP.NET MVC — View

謝駿辰
Jason的網頁筆記
Nov 22, 2021
Photo by José Ramon Martinez on Unsplash

網站已搬家,請到新網站支持我呦> https://jasonhsieh-web.github.io/

View的責任

View主要負責顯示Controller傳來的資料與指令,因此View中的程式碼只專注於呈現資料的用途,其他的運算邏輯與流程,View都不會介入。

View的位置

View的位置會在專案最外層資料夾下(Views),並且由各個Controller命名的資料夾進行分類,而Shared裡面放的是Layout為母版頁面,會看到Shared資料夾裡的_Layout.cshtml是含有底線的命名,一般為全站通用的功用型檔案.

_ViewStart.cshtml

執行階段透過ViewResult所執行的View都會先執行_ViewStart.cshtml,所以開發者可以在這個檔案中設定屬於全站View的共同預設特徵,這樣就不用在每個View中各自指定,_ViewStart.cshtml的預設內容如下。

@{Layout = "~/Views/Shared/_Layout.cshtml";}

但如果在View中指定了Layout,則會以該View設定為主,同樣也可以將Layout設定清空,方式是將Layout設定為null,表示這一個View將不使用任何Layout。

Layout主版頁面

主板通常包含網頁布局中共用或最常用到的部分,例如:網站Logo、導覽列、網站頁首、頁尾或是功能列等等,並與內容葉面進行結合。

_Layout檔案介紹

@RenderBody

@RenderBody可設定套用此主版內容頁面所輸出的位置,例如有一個index的View而他套用了_Layout而@RenderBody就是用來呈現這個index的內容。

@RenderSection

@RenderSection用於輸出頁面中具名區段的內容。第一個參數為具名區段的名稱,若具名區段對應此名稱,將會載入此處,第二個參數可用於設定該區段是否須確實存在,傳入值為true or false。

而在View中會用@section 具名參數名稱{....內容}來加入該區段的內容。

@RenderPage

@RenderPage方法的用途於主版頁面中可載入另一個檢視頁面。

MVC中的View包含HtmlHelper與Razor我會把他們各自寫一篇來介紹~

參考至: 一次就懂 ASP.NET MVC 5.x 網站開發:Web應用的經典實務範例解析(Visual C# )

如果我的筆記對您有幫助的話,不吝嗇給我個clap哦~ 謝謝您 !

--

--