我正在使用最新的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*"));
出了什么问题?
答案 0 :(得分:8)
在您的捆绑包中,您将其设置为包含jquery.validate*
和jquery.unobtrusive*
,这通常会有效。但是如果你看一下你的输出,并不是那里应该存在的所有文件。关键是jquery.unobtrusive.validate
需要包含jquery.validate
(正如您所看到的那样,您的输出不是)。显然,文件实际上在您的项目中不可用,因此捆绑器找不到。确保项目中包含所有必需的文件,以便捆绑者可以找到并输出它们。
答案 1 :(得分:0)
我发现用完整的js脚本名称替换通配符有效。
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate.min.js",
"~/Scripts/jquery.validate.unobtrusive.min.js"
));