ASP.NET MVC 4 - _Layout主页加载视图未配置为这样做

时间:2013-08-28 17:43:47

标签: asp.net-mvc-4

在我的ASP.NET MVC 4应用程序中,我创建了一个视图(不是部分),仅显示用于打印的数据网格。这可以作为打印安全视图。这是通过将您发送到视图的简单标记启用的。问题是,主页面布局正在视图中加载。

ASP.NET MVC 4应用程序中是否有任何地方可以秘密配置我的视图以包含master _layout?

3 个答案:

答案 0 :(得分:1)

是。检查您的~/Views/_ViewStart.cshtml文件,您可能会发现以下内容:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

您可以在视图中覆盖它:

@{
    Layout = null;
}

或者,如果您的视图是通过操作呈现的,请尝试返回PartialView()而不是View()

public ActionResult RenderGrid()
{
     ...
     return PartialView(); // return View without invoking _ViewStart.cshtml
}

答案 1 :(得分:0)

如果您有非局部视图,除非覆盖布局,否则将使用_ViewStart.cshtml中配置的任何内容。您可以通过将此添加到视图中来覆盖它:

@{
    Layout = null;
}

答案 2 :(得分:0)

由于我的_Layout完全在1个元素中,我能够使用javascript来隐藏它。这不是我喜欢的答案,因为它不是解决方案,它是一种廉价的工作。