我想知道如何在asp.net mvc中回傳後清除字段?就像現在發生驗證錯誤一樣,字段保持填充用戶輸入的任何內容。這很好,但是,當沒有發生驗證錯誤時,我想要清除所有字段並顯示一條消息。如何在asp.net mvc中回發後清除字段?
所以現在我通過使用ViewData成功顯示,但不知道如何讓字段清除。
我想知道如何在asp.net mvc中回傳後清除字段?就像現在發生驗證錯誤一樣,字段保持填充用戶輸入的任何內容。這很好,但是,當沒有發生驗證錯誤時,我想要清除所有字段並顯示一條消息。如何在asp.net mvc中回發後清除字段?
所以現在我通過使用ViewData成功顯示,但不知道如何讓字段清除。
聽起來像是爲PRG (Post Redirect Get) pattern一份工作,因爲你不希望用戶刷新頁面,並再次提交。
爲此,我會在您的TempData中放置一條消息或標誌,以便您可以檢查當您重定向回原始URL然後向用戶顯示消息。
菲爾哈克說:
嘗試調用
ModelState["value1"].Value = new
ValueProviderResult(null,
string.Empty,
CultureInfo.InvariantCulture);
你從內 您的控制器動作返回視圖之前。
這樣做是保持與鍵值「value1」關聯的所有錯誤 ,但 用空值 替換該值。
當您在視圖中發回模型時,您可以分配模型,新參考。
就是這樣。
if (ModelState.IsValid)
{
//Do your stuff here.
yourModel = new Moodel();
return View(yourModel);
}
在這種情況下,所有模型字段將爲空,並且沒有任何內容會顯示在窗體上。
試試這個:
if(ModelState.IsValid)
{
ModelState.Clear();
}
return View();
可能還需要設置你的ModelState錯誤,該行後:) – stuartdotnet 2014-10-20 00:33:15
這不起作用,ModelState.Clear(),但是確實 – 2015-08-25 12:24:03