MVC 3无法关闭不引人注目的JavaScript

时间:2010-11-24 18:58:08

标签: asp.net-mvc unobtrusive-javascript unobtrusive-validation

我一直在我的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

4 个答案:

答案 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。可能有更多的钥匙。