我正在尝试渲染一个脚本包,但它是空的。
这是BundleConfig.cs中的脚本包声明
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/jquery.unobtrusive.ajax*",
"~/jquery.validate.unobtrusive.bootstrap*"));
在我看来
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jqueryval")
但是当我加载页面时,jqueryval脚本显示为空。
<script src="/bundles/jquery?v=Nsx6sB8o7LJCR51P5u-dfe-6LePnt87pD0P5VTJ-0wI1"></script>
<script src="/bundles/bootstrap?v=XkxfR798CUJPhMhSd0B8VYgZWSNOTtLvz6047jf84wQ1"></script>
<script src="/bundles/modernizr?v=K-FFpFNtIXPUlQamnX3qHX_A5r7TM2xbAgcuEmpm3O41"></script>
<script src="/bundles/jqueryval?v="></script>
Firefox中的调试器在检索包的文件时返回200状态,但filesize为0。
答案 0 :(得分:4)
最有可能的是,您的路径不正确。这样:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/jquery.unobtrusive.ajax*",
"~/jquery.validate.unobtrusive.bootstrap*"));
应该是
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/scripts/jquery.unobtrusive.ajax*",
"~/scripts/jquery.validate.unobtrusive.bootstrap*"));
请记住,~/
在解析路径时会映射到网站的虚拟根目录,因此,除非您将JavaScript文件放在网站根目录中,否则捆绑中的这些路径不会工作