1

我正在构建的网站包含大量视图,这些视图将显示在同一位置,但根据用户导航菜单的方式隐藏或显示。

当你有一个包含 10 个不同视图的 MultiView 时,它在 Visual Studio 设计视图中变得非常混乱。我已经在几个用户控件中分离了每个视图的内容。但是有没有 MultiView 的替代品?

4

3 回答 3

0

我通常只使用面板或占位符并手动切换可见性。但后来我也不使用 VS 设计器......

于 2010-01-19T07:48:59.893 回答
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 内容。

于 2014-09-03T03:51:29.990 回答
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 页面保持简单,并使未来的控件添加更容易实现。

希望这会有所帮助,我是从内存中键入代码的,所以某些语法可能不正确 - 如果你不能让它运行,请给我一个喊叫,我会挖出一些我何时完成此操作的示例。

祝你好运!

于 2014-09-03T10:44:49.123 回答