我一直在我的mvc 3项目中实现新的不引人注目的javascript(使用RC1)。 我已将3个必需的脚本添加到“主”布局页面。 一切都运作良好。
但是我有一个视图,我想使用一些普通的jquery验证来验证文本框。确切地说,我想检查一个条目是否存在,并且它是数字。
所以在页面上我的js看起来像......
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$('#SomeForm').validate({
errorClass: "field-validation-error",
validClass: "field-validation-none",
errorElement: "label",
rules: {
ItemCount: {
required: true,
number: true
}
},
messages: {
ItemCount: {
required: "Please specify the number of items available",
number: "Please specify a valid number"
}
}
});
});
然而这不起作用。 所以在我的主布局页面上,我注释掉了对jquery.validate.unobtrusive.min.js文件的引用,并且嘿它已经工作了。
所以我想,必须与不引人注目的点点滴滴有关,所以如果我把它关闭(我已经读过你可以),一切都会好的。
因此,在视图页面中,我添加了以下行
Html.EnableUnobtrusiveJavaScript(false);
但没有快乐。我可以让它工作的唯一方法是删除对不显眼的js文件的引用。
当然不可能是这种情况。我一定是对吗?
谢谢D
答案 0 :(得分:6)
答案 1 :(得分:1)
我认为新的Unobtrusive jquery适配器的设计方式是您可以为整体启用它,也可以不启用它,您无法有条件地为特定视图启用/禁用它。
答案 2 :(得分:0)
您使用的是哪种版本的MVC3是CTP,Beta还是RC?使用Razor在RC中它对我来说很好。请从视图中发布代码。
答案 3 :(得分:0)
尝试访问web.config并找到:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
将UnobtrusiveJavaScriptEnabled设置为false。可能有更多的钥匙。