在我开始之前,让我说我知道关于这个问题的其他问题有很多答案,但请让我解释一下我的不同之处。
我有一个ASP.NET MVC 5项目,我有一组bundle:
public class BundleConfig
{
// For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/freelancer.css"));
// Plugin JavaScript
bundles.Add(new ScriptBundle("~/bundles/pluginjs").Include(
"~/Scripts/cbpAnimatedHeader.js",
"~/Scripts/classie.js"));
//Custom Theme js
bundles.Add(new ScriptBundle("~/bundles/customthemejs").Include(
"~/Scripts/freelancer.js"));
// Contact Form JavaScript
bundles.Add(new ScriptBundle("~/bundles/contactvalidation").Include(
"~/Content/jqBootstrapValidation.js",
"~/Content/contact_me.js"));
}
这些在_Layout.cshtml
中调用:
@Scripts.Render("~/bundles/customthemejs")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/contactvalidation")
@Scripts.Render("~/bundles/pluginjs")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
在`global.asax:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
目前我所知道的是:
StyleBundle
被调用并成功调用,因此我可以将问题指向引用脚本中的内容head
的{{1}}部分引用捆绑包,但没有变更_Layout.cshtml
的电话与_Layout.cshtml
班级我尝试过其他人在网上推荐的其他解决方案,例如寻找语法错误等等......但据我所知,没有。
任何人都可以从不同的角度看待这个,看看我哪里出错了吗?
答案 0 :(得分:2)
您的代码看起来是正确的,但您引用Microsoft.Web.Optimization
应用程序config
可能无法正常工作。您可以强制引用,以便应用程序将使用Web.Optimization
。在您的捆绑数据上方_Layout.cshtml
内,请放置以下内容:
@using System.Web.Optimization
这应该正确执行Web.Optimization
。
唯一可能出错的其他部分,我们看不到你的Global.asax。您需要确保拨打RegisterBundle
。
BundleConfig.RegisterBundles(BundleTable.Bundles);