Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net .NET绑定和自定义运行时{占位符}?_Asp.net_Asp.net Mvc_Bundling And Minification - Fatal编程技术网

Asp.net .NET绑定和自定义运行时{占位符}?

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")

根据浏览器和设备的不同,我有不同的css文件。一种绑定方法是注册每个组合phone.ie、desktop.ie、phone.chrome等,并为正确的绑定~/content/{0}.{1}、设备、浏览器使用Render方法string.format。这会起作用,但所涉及的维护要比需要的多得多。额外的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,这正是我们得到的。但这并不意味着我会喜欢它。肯定有计划在将来迁移到更好的地方。