带有ajax模型绑定和验证摘要的mvc 4部分视图不起作用

带有ajax模型绑定和验证摘要的mvc 4部分视图不起作用,ajax,asp.net-mvc-4,partial-views,model-binding,Ajax,Asp.net Mvc 4,Partial Views,Model Binding,我有一个页面,有3个部分视图。我显然需要避免身份冲突。所有三个局部视图和主页都有自己的视图模型。在主视图中,单击按钮将更新div的html,该html最初通过对控制器的ajax调用隐藏,以返回部分视图(onSuccess:div.html(data))。在这个局部视图中,我可以通过提交给控制器来更新模型。我可以看出数据是正确的 如果我故意将必填字段留空并提交部分视图,则应该返回并在验证摘要或字段中显示错误 例如,如果我在返回模型之前在控制器中添加以下内容: ModelState.AddModel

我有一个页面,有3个部分视图。我显然需要避免身份冲突。所有三个局部视图和主页都有自己的视图模型。在主视图中,单击按钮将更新div的html,该html最初通过对控制器的ajax调用隐藏,以返回部分视图(onSuccess:div.html(data))。在这个局部视图中,我可以通过提交给控制器来更新模型。我可以看出数据是正确的

如果我故意将必填字段留空并提交部分视图,则应该返回并在验证摘要或字段中显示错误

例如,如果我在返回模型之前在控制器中添加以下内容:

ModelState.AddModelError("", "There was an error submitting data to the database.");
如果我不修改绑定前缀,那就行了

如果我像以下方法那样修改绑定前缀,它将不起作用: 在控制器中:

public ActionResult SaveSchedHeaderSub([Bind(Prefix="SHS")]CPSchedHeaderSubViewModel theModel)  
在局部视图中:

@{ ViewData.TemplateInfo.HtmlFieldPrefix = "SHS";}
是的,我有所有正确的JavaScript文件。模型状态错误在这种情况下不起作用

非常感谢您的帮助。在这种情况下,我只需要以最好的方式为字段的名称添加前缀

我是一个长期的读者,这是我的第一个问题


提前感谢。

经过几个小时的这种情况,我得到了验证摘要。在没有通过ajax返回视图的所有其他网页上,验证摘要设置为:@Html.ValidationSummary(true)以排除属性错误。对于这个ajax局部视图,我必须将其更改为False才能显示摘要?