0

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

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

4

3 回答 3

1

是的。检查你的~/Views/_ViewStart.cshtml文件,你可能会发现这样的东西:

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

你可以在你的视图中覆盖它:

@{
    Layout = null;
}

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

public ActionResult RenderGrid()
{
     ...
     return PartialView(); // return View without invoking _ViewStart.cshtml
}
于 2013-08-28T17:48:41.217 回答
0

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

@{
    Layout = null;
}
于 2013-08-28T17:48:27.877 回答
0

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

于 2013-08-29T13:23:37.217 回答