@H_404_1@我想知道有没有人可以使用MVC 4提供的新的优化命名空间来帮助我捆绑和缩小。
我有一个Multitenant应用程序,其中我想根据每个用户的设置决定应该加载哪些js文件。一种方法是先创建所有捆绑包,并根据用户的设置更改resolvebundleurl的虚拟路径,但这并不是正确的方法。
另外,我有一个基于用户设置的cshtml视图中的动态css,我希望在运行时能够最小化。
我有一个Multitenant应用程序,其中我想根据每个用户的设置决定应该加载哪些js文件。一种方法是先创建所有捆绑包,并根据用户的设置更改resolvebundleurl的虚拟路径,但这并不是正确的方法。
另外,我有一个基于用户设置的cshtml视图中的动态css,我希望在运行时能够最小化。
有什么建议么?我也看到很多反应在其他问题,以查看Requestreduce,但他们都来自同一用户。
处理这两种情况的最佳方法是什么?
提前致谢!
解决方法
您可以采取的一种方法是在应用程序启动时动态构建捆绑包。所以如果你的脚本位于〜/脚本中,你可以做:
Bundle bundle = new Bundle("~/scripts/js",new JsMinify()); if (includeJquery == true) { bundle.IncludeDirectory("~/scripts","jquery-*"); bundle.IncludeDirectory("~/scripts","jquery-ui*"); } if (includeAwesomenes == true) { bundle.IncludeDirectory("~/scripts","awesomeness.js"); } BundleTable.Bundles.Add(bundle);
那么你的标记看起来就像这样
@ Scripts.Render( “〜/脚本/利布斯/ JS”)
注意:我正在使用最新的nuget软件包for system.web.optimization(现在的Microsoft.AspNet.Web.Optimization)位于here. Scott Hanselman有一个很好的post。