2009-02-02 69 views
1

我有一個嚮導控件,每個步驟的數據綁定控件。我無法立即將它們全部綁定,因爲它們依賴於前一步驟。所以,基本上我在每個步驟中都會保存上一步的數據庫,並對當前步驟進行初始化。如何組織許多數據綁定ASP.NET嚮導控件

有沒有關於如何最好地組織我的代碼的任何建議?它可以工作,但它不可讀,非常脆弱。

編輯:我應該補充一點,我已經看到了大部分的嚮導控制教程,但沒有一個似乎解決了我想要做的事情。特別是需要在步驟之間保存和檢索數據,以及如何在重新訪問步驟時避免再次檢索相同的數據。

回答

0

你所做的事聽起來很合理..你能對你遇到的問題更具體嗎?

關於嚮導控件的一件事,隨着工作流程變得越來越複雜我認爲您的工作流狀態與嚮導SelectedViewIndex之間的耦合變得有問題。爲此,我最終將它們分開。我通常會使用狀態/狀態機模式,其中當前的工作流狀態用於確定適當的嚮導視圖索引(但反之亦然)。

如果您正在尋找關於如何實現狀態機的示例,那麼我有一個測試應用程序,它可以瀏覽像嚮導控件這樣的對話框,除了使用javascript。查看http://main(dot)test.wishpot.com/WaveDataCollection.Frank/,進入頁面CollectSamples.aspx後,繼續查看源代碼,然後開始在GotoState函數中查看。

狀態機在C#中有些不同,主要區別在於狀態對象是一個具有固定數量事件處理程序的抽象類,每個狀態繼承自實現每個處理程序的類(某些可能引發異常) 。使用javascript,我們不需要抽象的狀態類...另外,在服務器端執行此操作時,您需要能夠將存儲在數據庫中的狀態ID映射到狀態類。

+0

這不一定是問題。我只是擔心解決方案需要多複雜才能獲得我之前的結果。我不確定是否有更簡單的方法來實現相同的目標。你有使用服務器控件實現狀態機的其他信息/鏈接嗎? – 2009-02-03 05:39:40