我在mvc 4.0中提交了一個關於提交事件的表單。提交表單後發佈到其操作並創建記錄。創建記錄後,當我刷新頁面,然後創建另一個重複的記錄。如何防止在MVC中發佈表單後頁面刷新時數據庫中的重複條目
我已經使用下列但沒有成功:
ModelState.Clear();
ModelState.SetModelValue("Key", new ValueProviderResult(null, string.Empty, CultureInfo.InvariantCulture));
ModelState.Remove("Key");
我不希望使用AJAX形成後,也不想另一頁上重定向。
有沒有什麼辦法可以在asp.net中使用,例如在mvc4.0中的!Page.IsPostBack()
。
我不想使用會話也。 (微軟吹的MVC,MVC沒有任何視圖狀態像asp.net,但現在我不這麼認爲)。
Page.IsPostBack並不妨礙這一點,即使你寫的代碼說!Page.IsPostBack,因爲瀏覽器重新完全相同requrest,這將是一個回傳,並再次插入記錄。 – 2013-03-11 13:37:45
我要求解決方案!!Page.IsPostBack() – 2013-03-11 13:40:19
狀態將在哪裏保存?瀏覽器在重新加載頁面時不會修改請求,我沒有會話,也沒有Cookie。所以你的服務器端永遠不會知道它是重複的。您必須寫入數據庫或重定向到某處,或將此狀態存儲在別處。 – Aneri 2013-03-11 13:48:16