这是一个非常基本的问题。我经历了MVC生命周期,但没有找到这个基础知识。
我们有_Viewstart
,_Layout
,观看次数和部分观看次数。考虑视图使用_Layout
文件的标准方案。 _Layout
文件和视图都有部分视图。所有这些文件执行的顺序以及生成实际html的顺序。
答案 0 :(得分:1)
顾名思义_Viewstart
是要处理的其他视图文件中的第一个。 _Viewstart
决定要处理的布局文件。您可以在_Viewstart
中使用条件代码来选择正确的布局文件,具体取决于控制器,如下所示
@{
var controller = HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"].ToString();
string layout = "";
if (controller == "Reports")
{
layout = "~/Views/Shared/_ReportsLayout.cshtml";
}
else
{
layout = "~/Views/Shared/_Layout1.cshtml";
}
Layout = layout;
}
据我所知,订单如下
1. _Viewstart
2. _Layout
3. Partial within layout
4. The actual view along with the partial within the view depending on the order as it appears