5

我正在使用最新的 MVC 框架和捆绑包。

MVC 创建的默认“jqueryval”包导致 javascript 错误

我页面上的脚本是这样输出的

<!-- In head -->
<script src="/Scripts/modernizr-2.6.2.js"></script>
<script src="/Scripts/jquery-2.0.2.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="/Content/Misc.js"></script>


<!-- Bottom of doc -->
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

我的捆绑:

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
         "~/Scripts/jquery.validate*",
         "~/Scripts/jquery.unobtrusive*"));

出了什么问题?

4

2 回答 2

8

在您的捆绑包中,您将其设置为包含jquery.validate*and jquery.unobtrusive*,这通常可以工作。但是,如果您查看输出,则并非所有应该存在的文件都在那里。关键是jquery.unobtrusive.validate需要jquery.validate包含(如您所见,您的输出不是)。显然,这些文件在您的项目中实际上并不可用,因此捆绑器找不到。确保在您的项目中包含所有必要的文件,以便您的捆绑器可以找到它们并输出它们。

于 2013-07-12T14:28:03.607 回答
0

我发现用完整的 js 脚本名称替换通配符是可行的。

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
            "~/Scripts/jquery.validate.min.js",
            "~/Scripts/jquery.validate.unobtrusive.min.js"
            ));
于 2016-11-01T01:13:36.017 回答