而不是一個快速解決方案我更想知道別人在做什麼。製作ModelState持久,但不是太持久
的問題是,我使用的ModelState爲用戶的錯誤/驗證報告,但是當我使用一個RedirectToAction(),該ModelState中丟失。爲了克服這個問題,我添加了一些代碼,我們的基本控制器(所有其他控制器繼承),在OnActionExecuting的覆蓋,我說:
if (TempData["ModelState"] != null && !ModelState.Equals(TempData["ModelState"]))
ModelState.Merge((ModelStateDictionary)TempData["ModelState"]);
而在OnActionExecuted的覆蓋,我說:
TempData["ModelState"] = ModelState;
問題在於這意味着某些錯誤信息可能顯示在錯誤的頁面上。我只是在開始的時候運行一個ModelState.clear()
,我知道它會覆蓋/糾正當前的錯誤,但有些情況下它不會被清除,並且會在奇怪的地方顯示錯誤。
其他人怎麼處理?任何想法的歡迎。由於
我找到了'如果(filterContext.Result是的ViewResult)`部分沒有工作,因爲我的成績一直是空的,但採取了這一點,它的工作就像一個魅力。謝謝 – Ben 2011-01-27 17:36:53