2009-06-03 58 views
1

我正在用ASP MVC製作一個簡單的CRUD應用程序,並且在創建新對象並將其插入數據庫時​​想要確認頁面。ASP MVC - 在向數據庫添加對象時確認頁面

問題是我在操作之間傳遞對象時遇到問題。我嘗試將它保存在創建後的會話中,然後在用戶確認時檢索它,但當我嘗試將其插入數據庫時​​(我正在使用實體框架),我得到一個InvalidOperationException:

I'米甚至不知道我是否以正確的方式接近。有任何想法嗎?

回答

4

如果模式允許,我喜歡做的是在記錄上有一個活動標誌(和時間戳字段)。您在第一頁上插入而不設置該標誌。確認頁面僅設置活動標誌。另一個進程可以清除未在其時間戳的某個範圍內確認的死記錄。對象或實體永遠不會綁定會話內存。

編輯爲清楚:作爲一個結果,你只能通過建立實體的ID確認頁面

2

蒂姆是最好的基本答案,這一點,但如果你不希望包括額外的邏輯你可以也可以考慮在確認頁面上使用隱藏字段,以確認實際重新提交表單數據(這意味着更少的數據庫行程,並且意味着您沒有舊的未經確認的條目位於數據庫中,但意味着更多數據進出客戶機) 。

從UI的角度來看,另一種可能更受歡迎的替代方法是使用Tim的答案,但如果啓用JavaScript,則使用提交按鈕彈出確認屏幕,單擊確定將一次提交表單和確認。