2010-01-19 54 views
1

我正在構建的網站包含大量的視圖,這些視圖將根據用戶如何瀏覽菜單而顯示在相同的位置,但隱藏或顯示。ASP.NET中MultiView的替代方案

當您在其中具有10個不同視圖的MultiView時,它在視覺工作室設計視圖中變得非常混亂。我已經在幾個用戶控件中分離了每個視圖的內容。但是有沒有替代MultiView?

+0

爲什麼你可以在asp.net中使用嚮導 – SK2185 2014-09-03 04:08:01

回答

0

我通常只使用面板或佔位符並手動切換可見性。但我不使用VS設計師要麼...

0

假設你正在使用ASP.NET web表單這裏...

這是另一個原因,一些功能強大的網絡控制投資像Telerik的ASP .NET控制套件。

您可以使用RadTabStrip控件和RadMultiPage控件。

這裏舉例:http://demos.telerik.com/aspnet-ajax/tabstrip/examples/multipage/loading-external-content/defaultcs.aspx

您可以指定每個RadPageView一個的contentURL它允許你每個視圖到單獨的ASPX文件分開。

這樣就簡化了您的解決方案,將每個視圖分隔到自己的頁面中,並提高性能,因爲只有在最初查看時才請求RadPageView內容。

0

我會這樣做的方式是在頁面上放置一個佔位符,並根據需要動態添加控件。

從你所說的,它看起來像用戶導航菜單,這決定哪些查看在MultiView控件來顯示...

我就這麼像這樣

ASPX文件:

<asp:PlaceHolder id=phContentContainer" runat="server"></asp:PlaceHolder> 

代碼隱藏

switch (MenuSelection) 
{ 
    case "LOGIN" //Display the login control 
    { 
     ucLoginUserControlType loginControl = (ucLoginUserControlType)LoadControl("~/UserControls/ucLoginUserControlType.ascx"); 

     phContentContainer.Controls.Add(loginControl); 
    } 
} 

顯然喲你會想要將代碼隱藏起來,比上面的10個視圖更高效和更清晰......但你明白了。

這使您的aspx頁面變得簡單,並使未來的控件添加更容易實現。

希望這有助於我從內存中鍵入代碼,所以一些語法可能不對 - 如果你不能得到它,給我一個呼喊,我會挖出一些當我這樣做的例子。

祝你好運!