在哪些情况下,MultiView会是一个不错的选择? MultiView控件及其View控件似乎只是扩展了Panel的概念。

Panels和MultiViews似乎都容易被滥用。如果您的UI问题和业务逻辑问题被正确分开,为什么要将视图整合在一个ASPX中?

有帮助吗?

解决方案

我使用MultiViews作为Wizard控件的更灵活的基础。

我同意将大量观点混为一谈是一种代码味道。在向导的情况下,在整个过程中通常会有许多要分享的状态。多视图允许将此状态简单地存储在视图状态中。

大多数情况下,我将每个视图的内容设为一个用户控件,它可以封装与该特定步骤相关的逻辑。

其他提示

我在传递中使用它来实现一个简单的启用Ajax的选项卡界面。

将按钮设置为选项卡样式,然后将其设置为onClick事件以在更新面板中切换活动视图。

任何发现自己切换一个或多个面板显示的情况都是MultiView控件的主要选择。例如,更模板化的向导控件或主/详细信息表单。

我同意他们可以滥用,您应该评估在使用它们之前是否最好将代码分成单独的页面。我曾经参与过以前的开发人员试图使用MultiViews过多地放在单个页面上的项目,而且他们完全可以使用它们。

使用MultiViews时要注意的一点是,与面板不同,包含在其中的任何声明性数据源控件都将始终绑定,即使它们包含的视图不是活动/可见的。

任何时候您想根据某些条件在页面上显示不同的内容。在工作中,我创建了一个选项卡控件,它只使用了MultiView和另一个我制作的简单控件,看起来像标签。每个选项卡都会在另一个控件中放置一个链接(样式化),该控件连接起来将活动视图设置为正确的选项卡。

对于在线表单之类的内容非常有用,您可以在其中显示一个显示实际表单的视图,另一个显示后跟的视图,其中包含“谢谢”。文本等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top