我正在建设的网站包含大量的视图,这些视图将显示在相同的位置,但根据用户如何导航菜单而隐藏或显示。
当你有一个包含10个不同视图的MultiView时,在visual studios设计视图中会变得相当混乱。我已经在几个用户控件中分离了每个视图的内容。但是有没有MultiView的替代品呢?
发布于 2010-01-19 15:49:00
我通常只使用面板或占位符,并手动切换可见性。但是我也没有使用VS设计器...
发布于 2014-09-03 11:51:30
假设您在这里使用的是ASP.NET webforms ...
这是投资于一些强大的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-03 18:44:49
我这样做的方式是在页面上有一个占位符,并根据需要动态地向其添加控件。
根据您所说的,它看起来像是用户导航一个菜单,这决定了在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页面保持简单,并使将来添加的控件更易于实现。
希望这能有所帮助,我已经从内存中输入了代码,所以一些语法可能不正确-如果你不能让它运行,给我一个呼喊,我会挖掘出一些例子,当我这样做的时候。
祝好运!
https://stackoverflow.com/questions/2091884
复制相似问题