在创建视图页面中,所有jquery验证都通过,当create对象传递给action时,UpdateModel失败。无论如何,我可以找到明确无法更新的字段?通过在调试模式下观看“e”?
try {
UpdateModel(house_info); }
catch (Exception e)
{ throw e; }
答案 0 :(得分:4)
您可以检查ModelState
是否有错误。以下内容将为您提供每个属性的列表,其中包含错误以及与属性相关的第一个错误
var errors = ModelState.Keys.Where(k => ModelState[k].Errors.Count > 0)
.Select(k => new
{
propertyName = k,
errorMessage = ModelState[k].Errors[0].ErrorMessage
});
答案 1 :(得分:0)
此外,ModelState
具有.IsValid
属性,您应该检查该属性而不是使用异常处理。
控制器动作可能如下所示:
public void MyAction() {
if(ModelState.IsValid) {
// do things
}
// error handling, perhaps look over the ModelState Errors collection
// or return the same view with the 'Model' as a parameter so that the unobtrusive javascript
// validation would show the errors on a form
}