我有不同的css文件,具体取决于浏览器和设备。一种捆绑方法是注册每个组合“phone.ie”,“desktop.ie”,“phone.chrome”等,并为正确的捆绑包设置Render方法string.format(“〜/ content / {0} 。{1}“,设备,浏览器)。这可行,但涉及的维护要多得多。额外的css文件意味着要注册更多的捆绑包。
如果我可以注册一个捆绑包,那真的很酷:
bundles.Add(new StyleBundle("~/content/css")
.Include("~/content/css/styles.{device}.{browser}.css"));
并简单地渲染
@Styles.Render("~/content/css")
其中{device}和{browser}是运行时变量的占位符。我怎么能这样做?有一个{version}占位符用于jQuery包,但对于自定义值似乎不太可扩展。
将渲染字典提供给整洁的
@Styles.Render("~/content/css", new { device = runtimeDevice, browser = runtimeBrowser })
答案 0 :(得分:0)
ASP.NET捆绑和优化中没有对自定义令牌的内置支持。我建议编写一个自定义扩展方法,例如bundles.AddFormattedBundle(...)
,它接受所需的参数并进行自己的替换。这都是您必须编写的自定义代码。
要提交有关ASP.NET捆绑和优化的建议,您可以查看该网站:https://aspnetoptimization.codeplex.com/workitem/list/basic