2009-01-27 45 views
2

我目前正在基於ASP.NET Web窗體的相當複雜的數據輸入表單上工作。表單完成後,我們希望爲用戶提供一個在實際提交表單之前檢查其輸入的機會(以及如果需要更改其數據,則需要修改其數據)。在ASP.NET表單中提供「審查」階段的乾淨方式

由於字段數量衆多,我想使用FormView控件,因爲它具有自動數據綁定功能,消除了許多繁瑣的代碼,但似乎並沒有提供此功能的簡單方法。

目前,我目前的方法使用ObjectDataSource來綁定所有的表單域。我已經在數據源上創建了兩種「模式」操作;一種模式臨時將對象保存到用戶會話中(稍後允許以只讀/編輯模式再次檢索 - 這有利於審閱/修改功能),而第二種模式實際上執行數據庫插入。

儘管在這一點上看起來相當穩健,但對我來說仍然感覺很髒。我知道我可以使用嚮導/多視圖類型的方法,但是你失去了自動數據綁定的細節(我相信?)。我確信這是一個相當普遍的問題,那麼通常如何在Web窗體環境中完成這個工作?

謝謝!

回答

3

我目前正在使用的項目使用自定義嚮導設置(而不是asp.net 2.0嚮導)。它包含嚮導可能需要的幾個步驟,當您從一步到另一步時,代碼會將這些值保存到最後一步(只讀審閱)中。當用戶進入最後一步時,他們可以回到需要更新的步驟。當開心時,用戶提交嚮導,並將數據保存到數據庫。它基本上是一系列可見光切換的面板。

對於每個可編輯字段,如果面板或mutliview可見或不可見,您應該仍然能夠使用ObjectDataSource不應影響綁定。當你從一個面板到另一個面板時,你可以更新一個只讀步驟(就像我之前說過的那樣),同時保持可編輯控件綁定到ObjectDataSource。當你回到任何需要修改的步驟時,你仍然受到束縛,所以當你做出任何改變,然後單擊提交或按鈕時,它應該使用ObjectDataSource。

任何人有任何其他想法?

+0

你是如何做你的只讀視圖?它是以只讀模式呈現的第二套完整的html嗎? – tbone 2009-06-27 00:10:33

相關問題