[英]Adding to script bundle from partial view in .NET MVC 5
我们正在制作一个.Net MVC websolution,它将使用呈现为HTML.Partials()的小部件。 我们希望部分视图能够在主页面视图脚本标签中添加其依赖项,包括css文件和javascript文件。
我一直在尝试使用此代码。 但是js文件没有在我页面的布局部分呈现。 怎么了?
@{
var bundle = System.Web.Optimization.BundleTable.Bundles.GetRegisteredBundles()
.Where(b => b.Path == "~/bundles/jquery")
.First();
bundle.Include("~/Scripts/addtojquerybundletest.js");
}
它似乎特定于我的jquery包。 它现在有效,我添加了一个特定于小部件的包,您可以在其中添加脚本以在主布局中呈现。 该捆绑包还会多次处理相同文件的添加(如果同一个窗口小部件在同一页面上存在多次,则会发生这种情况),并且只渲染一次。 我的解决方案在下面添加,似乎从我迄今为止所做的搜索中得到了很好的记录。
在BundleConfig.cs中:
bundles.Add(new ScriptBundle("~/widgetspecific"));
在_Layout.cshmtl中:
@Scripts.Render("~/widgetspecific")
在Widget.cshtml中:
@{
var bundle = System.Web.Optimization.BundleTable.Bundles.GetBundleFor("~/widgetspecific");
bundle.Include("~/Scripts/andreas.js");
}
有人意识到这个解决方案的消极方面吗?
@凯泽,你自己的回答如上。 在Widget.cshtml中,您可能想要使用
var bundle = System.Web.Optimization.BundleTable.Bundles.GetBundleFor("~/widgetspecific");
您需要为每个窗口小部件创建一个新的捆绑包,否则如果您重新使用“〜/ widgetspecific”捆绑包,它将在您浏览网站时继续添加上一页面窗口小部件中的脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.