【问题标题】:MVC how to include a view that does not have layout infoMVC 如何包含没有布局信息的视图
【发布时间】:2013-08-04 07:17:34
【问题描述】:

我正在尝试引用一个视图,但不想要视图附带的所有页眉和页脚,因为 viewstart 引用了布局页面。当我有一个弹出窗口时,它还会在标题中显示菜单项。有没有办法不包含layout.cshtml?

【问题讨论】:

标签: asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

布局可以直接在视图中指定,也可以基于调用者。

例如,如果您的 ActionMethod 返回如下:

return View();

视图将与布局一起呈现。但是,如果 ActionMethod 像这样返回:

return PartialView();

然后渲染的视图将没有布局。

但是,这可以在视图本身中被覆盖。在您看来,如果 ViewBag.Layout 为 null,则不会包含布局。相反,如果ViewBag.Layout 具有将使用布局的值,则不管视图如何被调用。因此,大多数视图不会直接设置ViewBag.Layout,而是由调用者指定意图。

希望他的帮助。

【讨论】:

  • 这对我有用!
【解决方案2】:

您所要做的就是将布局显式设置为 null。

@{ Layout = null; }

【讨论】:

    【解决方案3】:

    把它放在视图的标题中

    @{ Layout = null; }
    

    或者类似的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 2017-06-05
      • 2015-01-23
      相关资源
      最近更新 更多