【发布时间】:2011-08-25 23:21:48
【问题描述】:
我有一个由几十个 UI 元素(所有服务器控件)组成的 WebForm。我通过使用 asp:Placeholder 控件将 UI 元素分成不同的步骤并在回发之间设置它们的可见性,从而将整个页面变成了类似向导的用户体验。一次只能看到一个占位符。
如果 UI 体验仅包含从第 1 步到第 10 步的移动,那么创建一个通用的 Next / Prev 按钮处理程序来完成这些步骤是非常简单的。但是,有一些 UI 元素可以确定显示哪些步骤(向导窗格)。 (两个单选按钮,不同页面上的两个复选框)
是否有一种优雅或简单的方法来实现此流程逻辑,而无需为页面上的每个 Next/Prev 按钮创建专用的 Click 处理程序?如果有这样的模式,它会躲避我。
【问题讨论】:
-
你知道 ASP.NET 2.0 向导控件吗?
-
哦,是的。是的,我愿意。 :|我没有使用它,因为我不喜欢它在代码隐藏中隐藏控件的方式。当你有几十个控件时,每次你想访问一个控件时调用 container.FindControl() 真的很不方便。然而,Wizard控件真的解决了这个问题吗?
-
嗯...看起来向导控件确实有同样的问题:msdn.microsoft.com/en-us/library/w7dyf6b5.aspx
-
我重新阅读了您的帖子并考虑了一分钟。如果我正在做你的工作,我可能会创建一个充当整个向导的“视图模型”的类。你知道我的意思吗?我很难表达这一点..
-
经过更多研究并阅读此处的答案后,我认为我原来的问题的答案是“否”。