我正在构建的网站包含大量视图,这些视图将显示在同一个地方,但根据用户导航菜单的方式隐藏或显示。
当您拥有一个包含10个不同视图的MultiView时,视觉工作室设计视图会变得非常混乱。我已经在几个用户控件中分离了每个视图的内容。但有没有MultiView的替代品?
答案 0 :(得分:0)
我通常只使用面板或占位符并手动切换可见性。但是我不会使用VS设计师......
答案 1 :(得分:0)
假设你在这里使用ASP.NET webforms ...
这是投资一些功能强大的Web控件(如Telerik ASP.NET控件套件)的另一个原因。
您可以将RadTabStrip控件与RadMultiPage控件一起使用。
您可以为每个RadPageView指定ContentUrl,它允许您将每个视图分成单独的aspx文件。
这可以通过将每个视图分离到自己的页面来简化您的解决方案,并提高性能,因为只有在最初查看时才会请求RadPageView内容。
答案 2 :(得分: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页面,并使未来的控件添加更容易实现。
希望这会有所帮助,我已经从内存中输入了代码,所以有些语法可能不正确 - 如果你不能解决这个问题,请给我一个大喊大叫,我会挖掘一些我做完这个的例子。
祝你好运!