我只是试图ASP.NET 4.5捆绑和缩小,并遇到了一个问题。
我有大约10个css文件,其中2最初在布局中使用属性media =“屏幕”引用。
因为添加css到bundle的语法不允许你指定这样的属性应该添加(有意义,因为属性将应用于整个bundle),我希望看到一个@ Styles.Render的重载允许我指定html属性,像在其他Html助手,但没有。
有一个丑陋的解决方案,其中由于我知道创建的包的URL,我可以自己工艺的标签,但我会失去缓存机制由ASP.NET处理,允许它呈现标签本身。
有办法做到这一点,我错过了什么吗?还是这只是对设计团队的监督?
解决方法
我找到了一个更优雅的解决方案。
我使用Styles.RenderFormat(format,bundle)。
我有一个BundlesFormats类的属性叫做PRINT,我使用它像这样:
public class BundlesFormats { public const string PRINT = @"<link href=""{0}"" rel=""stylesheet"" type=""text/css"" media=""print"" />"; }
并在cshtml:
@Styles.RenderFormat(BundlesFormats.PRINT,"~/bundles/Content/print")