ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 11. Views 上


一般會使用外層模板的view,當作公共的模塊
一般叫作_Layout.cshtml

views下新建Shared文件夾



主要關注RenderBody,這裏會具體渲染Action返回的內容View

layout的title是在這裏

ViewBage是個dynamic動態類型。既然是動態類型,我就能夠在它身上寫一些屬性進行動態賦值

在Home/Index.cshtml內加了代碼段,若是使用了Layout做爲模板的話, 這裏加的代碼會先渲染。而後到了layout頁面。@ViewBag他已經有值了 就會渲染出來
每一個頁面均可以引用layout,均可以設置title的值,這個值就是動態的

引入模板頁。波浪線是指的整個web項目的根目錄

運行頁面只看到title的效果

在模板頁面加點內容

刷新就看到模板頁的內容
html

Section代碼塊

如今只有這一塊區域是動態的,有時候還須要其餘的區域也是動態的
添加一個底部的區域

把代碼包在代碼塊裏




web

_ViewStart.cshtml

在Razor引擎,選擇具體的Action的View頁面以前會先找VIewStat.cshtml這個文件,若是這個文件存在的話
那麼首先就會執行這個文件內的代碼,而後纔會執行其餘View裏面的代碼,這裏適合放重複性的代碼,每一個View有的代碼
好比Layout引入的這段代碼

Views/_ViewStart.cshtml。名字必須是_ViewStart.cshtml。路徑必須放在Views文件夾根目錄下,這樣纔會對Views下的全部的頁面起做用,
若是把它房子啊Home文件夾下,那麼只會對Home文件夾下的View視圖頁面起做用


運行查看效果,明細頁面也引用了layout

添加頁面也引用了
3d

_ViewImports.cshtml


也是在View根目錄下

把TagHelper的引入放在這裏了

在Home/Index.cshtml要使用這個Model。要麼是命名空間全寫上

要麼是使用using引入這個命名空間

把引入的代碼放在_VIewImport.cshtml頁面內

這裏就不用寫了

這是由於在渲染其餘的頁面以前,也會先找_VIewImport.cshtml。這裏面適合作引用,引用自定義的名稱空間和TagHelper。
也是ViewStart同樣有結構性的。放在VIews根目錄就會全部頁面起做用,

其餘頁面的引用均可以移到這裏

運行頁面,均可以正常運行






 htm

相關文章
相關標籤/搜索