2012-04-01 100 views
1

我有一个网页布局,其中包括显示信息的1个主面板,以及可以根据主面板中发生的情况显示几个面板之一的侧面板。例如,主面板可以显示项目列表,您可以单击应显示编辑面板的项目。或者你可以删除应该显示删除面板的项目。大约有5或6个面板。这不是整个应用程序,所以我不能使主面板成为局部视图。如何处理多面板布局

我该如何实施?基本上我试图在控制器中返回两个视图,但显然这是不可能的。我的猜测是主面板应该是控制器返回的视图。但是,如何才能设置侧面板呢?我能否以某种方式将1个控制器动作中的2个视图合并为1个?或者我应该将两个控制器连接到一个动作?我将如何做到这一点?

我真的很新ASP.NET MVC,但我无法自己搜索答案。感谢您的耐心等待。

回答

0

在这种情况下,您可以使用ViewModel来收集多个域模型,并将它们传递给视图为detailed here(这是我所要做的)。同样,您可以将主面板对象作为强类型对象传递,并使用ViewData传递其他数据项。然后可以使用单独的局部视图的单独面板,使用

@{ Html.RenderPartial("ViewName", dataItem); } 
+0

感谢;我考虑过最后的选择;这不会导致一个非常大的开关语句,它必须找出哪个面板显示换句话说控制器的工作? – garma 2012-04-01 13:14:05

+0

那么局部视图只需要一个字符串来定义视图渲染,并可以从控制器传递,而不是在视图上有很多逻辑。 – AlexC 2012-04-01 15:12:19

0

数据明智你可以使用一个传递包含数据为不同的面板作为@AlexC提到的单个视图模型对象通过传递数据呈现它们。

UI明智的,你可以使用标签jQuery插件来呈现不同的面板状显示在这里 - http://jquerytools.org/demos/tabs/index.html