与Layout一起使用时,Html.Partial工作不正确

时间:2012-03-17 00:38:04

标签: c# .net asp.net-mvc asp.net-mvc-3

我正在设置页面的布局属性,如下所示。因为我有几个不同的布局,所以这个不同于ViewStart.cshtml。

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

如果我的一个视图部分地调用此视图,则会出现问题。甚至调用页面由Html.Partial导致部分页面的布局呈现。

我觉得这可以被认为是ASP.Net MVC框架中的bug或错误设计决定。

我正在寻找一种以优雅的方式解决这个问题的方法。我有自己的CustomWebViewPage,它是从WebViewPage中插入的。我有覆盖布局属性,如果我能理解该视图被称为partialy所以我可以设置布局属性null来解决这个问题。但我不确定如何在CustomWebViewPage中理解它。

当然,我们可以通过ViewData传递信息,告诉WebViewPage它是否部分,但这不是很优雅的方式。

1 个答案:

答案 0 :(得分:1)

如果使用“return partialview()”调用视图,则会在没有布局的情况下渲染。

public ActionResult MyPartialView()
{
    return PartialView();
}