2010-09-10 27 views
1

我有一個呈現傳統強類型頁面的ASP.NET MVC 2項目,但在其中一些頁面上,我也希望使用頁面對象來呈現特定區域(div)主頁的導航部分。從視圖更新母版頁

舉例來說,如果我有一個客戶端對象和相關的強類型查看,我想查看能夠在母版頁的導航一個div中插入特定的客戶端的導航項目。

我在一個不是很優雅的方式通過創建一個的ViewData項目舉行客戶對象實際上實現這一點 - 這是除了與查看返回客戶端對象。然後主頁面將採用ViewData對象,如果它不爲空,則呈現客戶端特定的導航部分。隨着不得不處理的不同對象的數量增加,這種做事方式會變得非常難看。

我在尋找的是在頁面呈現過程中更新主頁面導航中的佔位符(即空div)的方法。任何C#,VB.NET或jQuery解決方案歡迎。

回答

0

爲什麼不像傳統上使用Web頁面那樣使用母版頁/佔位符?我沒有看到如何使用MVC將決定這是做另一種方式。

查看母版:

<div id="menu"> 
    <div>Item1</div> 
    <div>Item2</div> 
    <asp:ContentPlaceHolder ID="MenuContent" runat="server" /> 
</div> 

查看:

<asp:Content ID="Content1" ContentPlaceHolderID="MenuContent" runat="server"> 
    <%=Html.RenderAdditionalMenuItemsSomehow(Model) %> 
</asp:Content> 
+0

一個偉大的建議(爲此我做了一個DOH時刻!),它完美的作品時,我有可用的客戶對象。 然而事實證明,我需要爲客戶端顯示的一些項目將不包括客戶端對象,所以現在我正在測試主頁面代碼中的ViewContext.Controller以查看它是否是ClientController類型並就此採取行動。 – CrispinH 2010-09-10 16:01:01