ASP.NET MVC 2.0如何傳遞ModelErrors以及重定向?
我正在做Post-Redirect-Get,如果我在發佈時遇到錯誤,我需要包含ModelErrors以便沿着-Redirect-Get路線前進。 我把它通過 'TempData的':
TempData["modelErors"] =
ModelState.
Where(item => item.Value.Errors.Count > 0).
ToDictionary(
item => item.Key,
item => item.Value.Errors.Select(error=>error.ErrorMessage).ToList()
);
然後重新插入一個的ModelState:
if (TempData.ContainsKey("modelErors")) {
foreach (var errors in (IDictionary<string,IList<string>>) TempData["modelErors"]) {
foreach (var error in errors.Value) {
ModelState.AddModelError(errors.Key, error);
}
}
}
有沒有更好的辦法?
+1這是真的,你應該只發出一個get,如果請求被驗證爲OK。 – 2010-06-25 15:42:25