MVC学习五:Razor布局页面 _ViewStart.cshtml

时间:2021-11-14 08:36:19

如图:

MVC学习五:Razor布局页面 _ViewStart.cshtml

_ViewStart.cshtml就是MVC中的布局页面/模板页面。

用户访问流程图:

MVC学习五:Razor布局页面 _ViewStart.cshtml

原理:先去执行Views文件夹下【_ViewStart.cshtml】页面,然后同级目录文件夹(上图中的home文件夹)下执行【_ViewStart.cshtml】页面(如果同级目录文件夹下有【_ViewStart.cshtml】页面),最后执行请求视图(上图Index.cshtml页面)

MVC中任何视图页面最终都会被创建成一个页面类对象,【_ViewStart.cshtml】页面也不例外,它是被创建【继承StartPage抽象类的一个页面类对象】,所以它可以使用StartPage抽象类中的属性和方法。

StartPage抽象类图

MVC学习五:Razor布局页面 _ViewStart.cshtml

布局页面传值可以使用PageData

Views文件夹下的_ViewStart.cshtml

MVC学习五:Razor布局页面 _ViewStart.cshtml

Views => Stu文件夹下的_ViewStart.cshtml

MVC学习五:Razor布局页面 _ViewStart.cshtml

Views => Stu文件夹下的Index.cshtml(注:Index.cshtml没有使用_ViewStart.cshtml布局页面)

MVC学习五:Razor布局页面 _ViewStart.cshtml

结果:执行顺序 Views 下ViewStart.cshtml => Stu下ViewStart.cshtml => Stu下Index.cshtml

MVC学习五:Razor布局页面 _ViewStart.cshtml