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

有时,TryUpdateModel无法更新模型。我找不到原因和异常(exception)?

最佳答案

根据其他TryXXX范例方法(例如TryParse), TryUpdateModel method返回一个 bool 值,指示模型是否成功更新。
TryUpdateModel使用错误列表更新ModelState字典。如果TryUpdateModel失败(根据 bool 返回值),则可以iterate these as follows:

 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);
        }
     }
 }

否则,如果您想使用硬性异常(exception),请改用 UpdateModel

10-07 13:15