2012-04-01 52 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