2015-05-01 187 views
0

查看 - >佈局0 - >佈局1 - >?如何設置佈局的佈局?

Layout0的整體目的是告訴Layout1使用哪個佈局。我怎樣才能做到這一點?

在某些視圖中,我希望我的表單在菜單欄旁邊,而在其他視圖中,我只希望自己的表單。如果沒有菜單,我需要跳過鏈中的佈局。

回答

0

我已經與由佈局拿起一個視圖包變量來實現這一點。

@{ 
    Layout = "~/Views/Shared/layout/_form.cshtml"; 
    ViewBag.ParentLayout = "_layout2.cshtml"; 
} 

@RenderBody() 

然後在_form.cshtml

@{ 
    Layout = ViewBag.ParentLayout; 
} 
0

這聽起來像一個類似的問題Change Layout(Master Page) of view in ASP.NET MVC without recreate it

如果問題是真的「如何選擇基於[X]我的佈局,」該職位可能會幫助你的。請查看_ViewStart.cshtml視圖,該視圖負責分配佈局。然後,使用剃鬚刀,根據呼叫控制器或其他條件選擇佈局。

您可以從一個給定的控制器返回一個視圖時,也指定佈局:

... 
return View("ViewName", "_LayoutPage", modelName); 
+0

這最後片段將不會設置正確的佈局。我已經添加了答案。 –