2015-05-01 150 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

这最后片段将不会设置正确的布局。我已经添加了答案。 –