if (!TryUpdateModel<Event>(evt)) { // ... I need to retrieve the errors here }
有时,TryUpdateModel无法更新模型.我无法找到理由和例外?
解决方法
根据其他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); } } }
否则,如果您想要一个硬异常,请改用UpdateModel
.