MVC学习中忽然想到一个问题..
在访问一个Index.cshtml页面时, MVC的加载顺序是怎么样的呢?
首先说下我的结论
1. _ViewStart.cshtml 2. Index.cshtml 3. _Layout.cshtml
经过实验认为 http://www.byywee.com/page/M0/S957/957632.html 给出的结论是错误的.
若有不同意见的道友请留言辩驳..不胜荣幸
论述我的观点和实验过程:
经过了解
_ViewStart.cshtml页面指定谁是模板页 一般都是 _Layout页面
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
_Loyout.cshtml类似于以前用的 Site.Master 母版页...是页面中公用部分的盛放地方..
Index.cshtml是我们访问的目标页面
我们在这三个页面中第一行位置都写入一段代码并加断点..
会发现页面先进入了_ViewStart.cshtml页面中..首先给Layout变量赋值了..
然后进入竟然是Index.cshtml页面..最后才是_Layout.cshtml页面..
那么问题来了..
我们是不是可以在Index.cshtml页面中改变这个页面所要加载的模板页呢.?
经过实验是可以的..
只是新建的模板页中一定要实现在目标页面中定义的 @section 值
这个我们现在不详细的讲..可以关注我的后续博文 <MVC中的@section>