当TryUpdateModel无法在asp.net mvc 3中更新模型时,如何查找异常/错误

use*_*798 8 asp.net-mvc asp.net-mvc-3

if (!TryUpdateModel<Event>(evt))
{ 
   // ... I need to retrieve the errors here
}
Run Code Online (Sandbox Code Playgroud)

有时,TryUpdateModel无法更新模型.我无法找到理由和例外?

Stu*_*tLC 14

根据其他TryXXX范例方法(例如TryParse),该TryUpdateModel方法返回一个bool,指示模型是否成功更新.

TryUpdateModelModelState使用错误列表更新字典.如果TryUpdateModel失败(根据bool返回),您可以按如下方式迭代这些:

 var model = new ViewModel();
 var isSuccess = TryUpdateModel(model);

 if (!isSuccess)
 {
     foreach (var modelState in ModelState.Values)
     {
        foreach (var error in modelState.Errors)
        {
           Debug.WriteLine(error.ErrorMessage);
        }
     }
 }
Run Code Online (Sandbox Code Playgroud)

否则,如果您想要一个硬异常,那么请UpdateModel改用.