0

我有两个不同的视图属于两个不同的控制器。第一个控制器的视图可以通过不显眼的验证正常工作。第二种观点没有。似乎验证插件没有运行,因为$.validator.unobtrusiveis undefined

在共享的 _layout 文件中,我有以下脚本标签:

<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.19.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

那么为什么第二个视图不能与不显眼的验证一起工作呢?

更新

在这两种情况下,我都通过 Ajax 调用加载表单。我已经验证了带有损坏验证的主页可以支持对非 ajax 加载的表单进行不显眼的验证。

更新2

我终于让它工作了,但它还不是永久修复。问题的根源是同一页面上的可编辑Telerik MVC Grid。它以某种方式删除/防止$.validator.unobtrusive在我的 ajax 负载中使用。

4

1 回答 1

1

我不知道这是否会有所作为,但是您能否将每一行更改为以下内容?

<script src="@Url.Content('~/Scripts/jquery-1.7.2.min.js')" type="text/javascript"></script>
<script src="@Url.Content('~/Scripts/jquery-ui-1.8.19.min.js')" type="text/javascript"></script>
<script src="@Url.Content('~/Scripts/jquery.validate.min.js')" type="text/javascript"></script>
<script src="@Url.Content('~/Scripts/jquery.validate.unobtrusive.min.js')" type="text/javascript"></script>
<script src="@Url.Content('~/Scripts/jquery.unobtrusive-ajax.min.js')" type="text/javascript"></script>

这是一个非常小的更改,但"@Url.Contents() 中的 s 已更改为's。报价可能会在某些时候交叉。

于 2012-05-07T23:21:46.137 回答