Asp.net .NET绑定和自定义运行时{占位符}?
根据浏览器和设备的不同,我有不同的css文件。一种绑定方法是注册每个组合phone.ie、desktop.ie、phone.chrome等,并为正确的绑定~/content/{0}.{1}、设备、浏览器使用Render方法string.format。这会起作用,但所涉及的维护要比需要的多得多。额外的css文件意味着注册更多的捆绑包 如果我可以注册一个包,那将是非常酷的:Asp.net .NET绑定和自定义运行时{占位符}?,asp.net,asp.net-mvc,bundling-and-minification,Asp.net,Asp.net Mvc,Bundling And Minification,根据浏览器和设备的不同,我有不同的css文件。一种绑定方法是注册每个组合phone.ie、desktop.ie、phone.chrome等,并为正确的绑定~/content/{0}.{1}、设备、浏览器使用Render方法string.format。这会起作用,但所涉及的维护要比需要的多得多。额外的css文件意味着注册更多的捆绑包 如果我可以注册一个包,那将是非常酷的: bundles.Add(new StyleBundle("~/content/css")
bundles.Add(new StyleBundle("~/content/css")
.Include("~/content/css/styles.{device}.{browser}.css"));
并且渲染简单
@Styles.Render("~/content/css")
其中{device}和{browser}是运行时变量的占位符。我怎么能这样做呢?jquerybundle使用了{version}占位符,但对于自定义值,它似乎不太可扩展
也许可以给渲染器提供一本字典
@Styles.Render("~/content/css", new { device = runtimeDevice, browser = runtimeBrowser })
ASP.NET绑定和优化中没有对自定义令牌的内置支持。我建议编写自定义扩展方法,例如bundles.AddFormattedBundle。。。它接受所需的参数并进行自己的替换。这些都是您必须编写的自定义代码
要提交关于ASP.NET捆绑和优化的建议,您可以查看以下网站:另外,您为什么要尝试为不同的浏览器提供不同的CSS?这与行业的发展方向背道而驰。我知道@ChrisHardie,这正是我们得到的。但这并不意味着我会喜欢它。肯定有计划在将来迁移到更好的地方。