2009-04-17 135 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。非常抱歉。

相關問題