如圖:
_ViewStart.cshtml就是MVC中的布局頁面/模板頁面。
用戶訪問流程圖:
原理:先去執行Views文件夾下【_ViewStart.cshtml】頁面,然后同級目錄文件夾(上圖中的home文件夾)下執行【_ViewStart.cshtml】頁面(如果同級目錄文件夾下有【_ViewStart.cshtml】頁面),最后執行請求視圖(上圖Index.cshtml頁面)
MVC中任何視圖頁面最終都會被創建成一個頁面類對象,【_ViewStart.cshtml】頁面也不例外,它是被創建【繼承StartPage抽象類的一個頁面類對象】,所以它可以使用StartPage抽象類中的屬性和方法。
StartPage抽象類圖
布局頁面傳值可以使用PageData
Views文件夾下的_ViewStart.cshtml
Views => Stu文件夾下的_ViewStart.cshtml
Views => Stu文件夾下的Index.cshtml(注:Index.cshtml沒有使用_ViewStart.cshtml布局頁面)
結果:執行順序 Views 下ViewStart.cshtml => Stu下ViewStart.cshtml => Stu下Index.cshtml