Ale*_*zzo 19 c# asp.net bundling-and-minification
有没有办法@:Scripts/Styles.Render
从代码后面复制助手的行为?
如果我使用该BundleTable.Bundles.ResolveBundleUrl
方法引用捆绑包,则即使使用捆绑和缩小也会发生debug=true
.我已经阅读了其他问题,通过使用前面提到的帮助程序,解决方案似乎非常明显.但在我的情况下,我在aspx中不知道bundle的名称,它是在运行时在后面的代码中生成的.
所以,我需要在后面的代码中添加引用,我找不到办法.
有办法吗?或者我将被迫在.aspx文件中执行此操作?
not*_*ary 26
是的!
这就是我为Web窗体所做的.此示例将资源,<head>
而且还与其中任何控制工程Controls.Add()
工作
对于CSS:
System.Web.UI.WebControls.Literal lit = new System.Web.UI.WebControls.Literal();
lit.Text = System.Web.Optimization.Styles.Render("~/bundles/my_css").ToHtmlString();
Header.Controls.Add(lit);
Run Code Online (Sandbox Code Playgroud)
对于JS:
System.Web.UI.WebControls.Literal lit = new System.Web.UI.WebControls.Literal();
lit.Text = System.Web.Optimization.Scripts.Render("~/bundles/my_js").ToHtmlString();
Header.Controls.Add(lit);
Run Code Online (Sandbox Code Playgroud)
另外 - 由于ASPX是代码隐藏的子类,理论上你可以通过在代码隐藏中使它成为受保护(或公共)变量来从ASPX获取包名称(但是你没有发布所有代码所以我不知道是什么你完全正确).
小智 6
您也可以只是内联渲染脚本
<%: Scripts.Render("~/bundles/my_js") %>
Run Code Online (Sandbox Code Playgroud)