2009-04-17 79 views
2

我正在开发一个C#.NET 2.0应用程序中的窗体,其中包含有关窗体上各种控件状态(启用/禁用)的复杂逻辑。 (该设计是业务分析师对UI最佳实践的理解不足的表现。)管理表单状态的最佳方式是什么?

什么是管理表单“状态”的最佳方法?通常,我已经看到了一个ShowControls(state)或者SetEnables(state)函数,其中状态是枚举可能的配置(INITIAL,AFTER_SELECT,AFTER_COPY等)。我预测这将很快变得难以维系。

你用什么方法维护表格“状态”?您可能会涉及哪些模式以跟踪复杂的控制交互?

回答

3

我最喜欢的图案是passive view。它从表格中删除所有的国家管理责任。最后,它使维护演示文稿代码变得更容易,但是在附加代码方面有一些前期成本。

0

您可能会考虑与业务分析师一起采取其他策略,在继续进行黑客攻击之前,先让他诋毁他或让他进入阵营。尽最大努力赢得他的支持,但需要更多的耐心。这可能不是技术问题。

但在技术讨论...

由于您使用的Web窗体2.0,哎哟,你可以使用用户控件使用视图状态封装表单的状态。你应该使用自顶向下的方法。假设您有5个控制窗体状态的控件。在每个控件中,您都有一个占位符,您可以根据控件的状态动态加载和导出内容。在动态加载的每个用户控件中,你可以做俄罗斯娃娃效应(封装),并在那里放置更疯狂的规则,分析师随机抽出他的屁股。在这种情况下,封装和ViewState是你的朋友。只要确保在Page_Init事件中加载控件,因为它会使所有其他事件保持一致。我非常抱歉,您正在使用网络表单和.net 2.0。非常抱歉。

相关问题