Jquery MVC4客户端验证不适用于使用Ajax加载的表单

Jquery MVC4客户端验证不适用于使用Ajax加载的表单,jquery,ajax,asp.net-mvc-4,unobtrusive-validation,Jquery,Ajax,Asp.net Mvc 4,Unobtrusive Validation,我有一个Admin页面,用户在其中单击链接,然后使用Ajax将包含web表单的相应PartialView加载到Admin页面上的特定div中 所有的 "~/Scripts/jquery-2.0.3.js", "~/Scripts/jquery.unobtrusive-ajax.js", "~/Scripts/jquery.validate.js", "~/Scripts/jquery.validate.unobtrusive.js" 在管理页面中引用,当加载部分视图时,jQuery客户端验证将

我有一个Admin页面,用户在其中单击链接,然后使用Ajax将包含web表单的相应
PartialView
加载到Admin页面上的特定div中

所有的

"~/Scripts/jquery-2.0.3.js",
"~/Scripts/jquery.unobtrusive-ajax.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.validate.unobtrusive.js"
管理页面中引用,当加载
部分视图
时,jQuery客户端验证将不起作用

但是,当我在
PartialView
中引用这些脚本时,一切正常,但我不打算对每个
PartialView
执行此操作,因为它们数量众多,每次加载时,必须再次从服务器请求至少两个.js文件


有没有办法让这些脚本在我的父(Admin)页面中没有这个问题?

基本上验证器会解析文档中的元素。如果你愿意,你可以自己打电话,不过有人已经就此提出了问题。而公认的答案可能仍然有效。其中一个答案有一个博文链接,如果你愿意,可以进一步阅读


在每个局部视图上都需要此选项:

$(document).ready(function () {

    $.validator.unobtrusive.parse("#YourFormID");

});

基本上,验证不绑定在动态呈现的表单上…

jQuery验证可能需要知道从局部视图加载的新标记。我曾经遇到过其他jQuery插件的问题,这些插件需要“重新应用”到通过ajax加载的新标记上。您能否详细说明如何将其放置在局部视图中?我试着将它放在代码其余部分下面的脚本标记中,但它不起作用。MVC脚本部分也不受支持,因此我不得不将其放在主视图中,这让我很不高兴,因为现在视图需要知道部分视图中表单的名称。@julealgon在脚本标记中的部分视图底部应该没有任何问题。你是否包含了所有必要的javascript库?这是我尝试的第一件事,但它不起作用。当我将脚本放在包含视图中时,它可以完美地工作。我看到的唯一奇怪的事情是,我的局部视图使用
Ajax.BeginForm
方法创建了一个表单。我将脚本放在它的外部,在文件的底部。@julealgon如果没有看到您的代码,我不确定。事实上,您使用的是Ajax.BeginForm,这应该没有什么区别。我经常使用ajax表单,它也可以很好地使用它们……我知道我们避免了像+1或感谢这样的评论,但这确实为我节省了时间。