2009-06-12 32 views
2

我有一個正在構建的ASP.NET MVC應用程序,我正在使用母版頁。在這個母版頁上,我想通過爲「Tabs」,「Header」和「Footer」創建一個單獨的文件來進一步分解。如果我想將視圖分解爲更小的子視圖,應該在ASP.NET MVC中創建什麼項目?

我應該建立什麼樣的觀點來封裝這些東西來幫助從我的母版頁除去雜波?另外,如何在我的主視圖中的正確位置引用這些參數,以便我可以正確渲染它們?

有許多可用於創建視圖/內容的意見/用戶控件等MVC的幾種不同類型的選擇,我需要知道哪些是正確的完成這個任務,以及如何使用它。

+0

有用戶控件的MVC? – rball 2009-06-12 20:10:37

+2

@rball,有。 – KingNestor 2009-06-12 20:23:26

回答

3

如果您使用的WebForms視圖,那麼你有3種選擇:

局部視圖/用戶控制

使用Html.RenderPartial(我認爲這是在ASP創建標籤的最佳方法。 NET MVC 1.0今天)。您的標記將尋求爲:

<% Html.RenderPartial(ViewData["TabName"], ViewData["TabData"]); %> 

嵌套MasterPages

  • 的Site.Master與ContentPlaceHolders的內容,標題,側邊欄,頁腳...
  • Tabs.master用的ContentPlaceHolder的標籤在<asp:Content ContentPlaceHolderID="Content" >
  • 很多Tab1.aspx ... TabN.aspx的製表符。

的HtmlHelper擴展

可以使用(我認爲這是錯誤的方式創建標籤)是這樣的:

<% if(ViewData["TabName"] = "Tab1") { %> 
    <%= Html.Tab1() %> 
<% } else if(ViewData["TabName"] = "Tab2") { %> 
    <%= Html.Tab2() %> 
<% } else ... 
... 
... 
... 
0

你已經考慮過用戶控件/部分視圖嗎?

編輯:如果它只是HTML中你可以編寫HTML文件和渲染使用輔助方法。

相關問題