在我的web應用中,點擊ASP.NET MVC表單上的提交按鈕後,用戶將顯示錯誤屏幕或成功屏幕。在出現錯誤的情況下,指示用戶單擊瀏覽器上的返回按鈕並修復他們不正確的操作,然後嘗試再次提交。ASP.Net MVC2 - 發佈後,如果用戶點擊後退按鈕,如何清除表單?
這可以正常工作,因爲當用戶點擊回來時,所有以前輸入的數據仍然在各個字段的屏幕中。但是在成功屏幕的情況下,如果用戶單擊後退,我希望數據被清除,以便他們不會再意外地重新提交數據。
在ASP.NET MVC中如何做到這一點?
在我的web應用中,點擊ASP.NET MVC表單上的提交按鈕後,用戶將顯示錯誤屏幕或成功屏幕。在出現錯誤的情況下,指示用戶單擊瀏覽器上的返回按鈕並修復他們不正確的操作,然後嘗試再次提交。ASP.Net MVC2 - 發佈後,如果用戶點擊後退按鈕,如何清除表單?
這可以正常工作,因爲當用戶點擊回來時,所有以前輸入的數據仍然在各個字段的屏幕中。但是在成功屏幕的情況下,如果用戶單擊後退,我希望數據被清除,以便他們不會再意外地重新提交數據。
在ASP.NET MVC中如何做到這一點?
您可以完成此操作的方式是使用Post-Get-Redirect模式。這不是ASP-MVC特定但由於維基說,這
一個常見的設計模式爲Web開發人員,以幫助避免某些重複的表單提交,並允許用戶代理與書籤和刷新按鈕更直觀地表現。
點擊後面不是安全的方式來處理這個。提交後,某些瀏覽器不保留表單狀態。這種模式直接解決了accidentally re-submit
數據問題。
在代碼方面,請看Jag Reehal關於如何進行單元測試控制器的博文。
[HttpPost]
public ActionResult Create(SomeViewModel model)
{
if (ModelState.IsValid)
{
// do some stuff that saves your data and then...
return RedirectToAction("Success");
}
else
{
// your model is not valid so return the form back to the user for
// additional modifications.
return View(model);
}
}
注意:在上面的用途ModelState
數據驗證,你可以有自己的一套,也可以在此模式中使用的驗證和錯誤檢查例程。
我以前試過,它沒有爲我工作,但也許我做錯了什麼。讓我再試一次,回到你身邊。 – Pretzel 2010-10-08 16:57:17
@pretzel - 任何進展? – Ahmad 2010-10-12 09:05:02
仍然沒有運氣。我會嘗試複製我在測試項目中所做的工作(喵,刪除所有不必要的代碼,以便我可以告訴你我在做什麼。)我會在幾天後回覆。感謝您檢查我! :) – Pretzel 2010-10-12 13:29:48