2012-03-17 24 views
0

我正在設置頁面的佈局屬性,如下所示。因爲我有幾個不同的佈局,所以這個不同於ViewStart.cshtml。Html.Partial與佈局一起使用時不正確

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

如果我的觀點之一稱這種觀點偏袒,就會出現問題。即使調用頁面按Html.Partial也會使用它的佈局來渲染局部頁面。

我覺得這可以認爲是ASP.Net MVC框架中的bug或錯誤設計決定。

我正在尋找一種方法來解決這個優雅的方式。我有我自己的CustomWebViewPage,它是從WebViewPage插入的。我已經覆蓋佈局屬性,如果我可以理解這個視圖稱爲partialy,所以我可以設置佈局屬性null來解決這個問題。但我不確定我如何理解它在我的CustomWebViewPage中。

當然,我們可以通過ViewData傳遞信息來告訴WebViewPage它是部分的還是不是,但這不是很優雅的方式。

回答

1

如果您使用「返回partialview()」調用視圖,則不顯示佈局。

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

你是對的,所以我從我的問題中刪除了那部分。仍然Html.Partial渲染視圖本身與佈局。 – AnyOne 2012-03-17 10:22:11