一般會使用外層模板的view,當作公共的模塊
一般叫作_Layout.cshtml
views下新建Shared文件夾
主要關注RenderBody,這裏會具體渲染Action返回的內容View
layout的title是在這裏
ViewBage是個dynamic動態類型。既然是動態類型,我就能夠在它身上寫一些屬性進行動態賦值
在Home/Index.cshtml內加了代碼段,若是使用了Layout做爲模板的話, 這裏加的代碼會先渲染。而後到了layout頁面。@ViewBag他已經有值了 就會渲染出來
每一個頁面均可以引用layout,均可以設置title的值,這個值就是動態的
引入模板頁。波浪線是指的整個web項目的根目錄
運行頁面只看到title的效果
在模板頁面加點內容
刷新就看到模板頁的內容
html
如今只有這一塊區域是動態的,有時候還須要其餘的區域也是動態的
添加一個底部的區域
把代碼包在代碼塊裏
web
在Razor引擎,選擇具體的Action的View頁面以前會先找VIewStat.cshtml這個文件,若是這個文件存在的話
那麼首先就會執行這個文件內的代碼,而後纔會執行其餘View裏面的代碼,這裏適合放重複性的代碼,每一個View有的代碼
好比Layout引入的這段代碼
Views/_ViewStart.cshtml。名字必須是_ViewStart.cshtml。路徑必須放在Views文件夾根目錄下,這樣纔會對Views下的全部的頁面起做用,
若是把它房子啊Home文件夾下,那麼只會對Home文件夾下的View視圖頁面起做用
運行查看效果,明細頁面也引用了layout
添加頁面也引用了
3d
也是在View根目錄下
把TagHelper的引入放在這裏了
在Home/Index.cshtml要使用這個Model。要麼是命名空間全寫上
要麼是使用using引入這個命名空間
把引入的代碼放在_VIewImport.cshtml頁面內
這裏就不用寫了
這是由於在渲染其餘的頁面以前,也會先找_VIewImport.cshtml。這裏面適合作引用,引用自定義的名稱空間和TagHelper。
也是ViewStart同樣有結構性的。放在VIews根目錄就會全部頁面起做用,
其餘頁面的引用均可以移到這裏
運行頁面,均可以正常運行
htm