【发布时间】:2012-04-26 08:47:17
【问题描述】:
我有以下项目结构:
_ViewStart.cshtml:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
_Red.cshtml:
@{
ViewBag.Title = "Red";
Layout = "~/Views/Shared/_Layout.cshtml";
}
_Blue.cshtml 没有明确指定了布局。
现在,如果尝试使用 _Red.cshtml 布局呈现 Index.cshtml,也会分层应用 _Layout.cshtml。所以基本上我们有一个嵌套的模板链_Layout->Red->Our page
但如果我尝试使用 _Blue.cshtml 呈现 Index.cshtml,则 not 应用了 _Layout.cshtml。 我期待 _Layout.cshtml 按照约定使用 _viewstart 应用于 _Blue.cshtml。相反,我得到的 Index.cshtml 页面只应用了 _Blue.cshtml 模板。
我的假设错了吗?
提前致谢!
更新:
控制器方法:
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View("Index");
}
所以,我返回的是 ViewResult,而不是 PartialViewResult ;)
【问题讨论】:
-
你是从控制器返回 View 还是 PartialView?
-
@Chuck Norris:对不起,忘了说,我返回 View("Index")
标签: asp.net-mvc razor