当前位置:  开发笔记 > 编程语言 > 正文

如何从ASP.NET主题中排除特定的CSS文件?

如何解决《如何从ASP.NET主题中排除特定的CSS文件?》经验,为你挑选了2个好方法。

我正在制作一个必须在FF/IE6/IE7/Opera/Safari上正确渲染的网站.IE6是一个迟到的要求(当我完成所有其他浏览器时),它必须是可用的,不一定与其他浏览器相同.现在我正在调整它,以便它也可以在IE6上使用.

为此,我在我的主题中创建了另一个样式表IE6_override.css.正如您可能已经猜到的那样,我希望它仅在浏览器是IE6时应用.有条件的评论将是完美的.

唯一的问题是 - ASP.NET 为主题文件夹中的每个CSS文件呈现标记,因此在所有浏览器上无条件地包含此文件.

我想坚持主题,因为我们可以在以后为我们的应用程序创建更多皮肤是完全可行的(如果客户希望的话).

有什么方法可以让ASP.NET从其auto-including中排除这个特定的.CSS文件?

补充:谢谢你的答案!最后我找到了一个解决方法.由于我之前提到的一些其他样式问题,我也被迫使用IE6解决方法Javascript.因此,我使用.ie6_dummy类选择器为我的所有IE6特定规则加上前缀,然后在页面加载时将其删除.:)



1> WtFudgE..:

是的,你可以...你可以删除后面代码中的特定页眉控件.css文件是通过主题自动添加的,但是你可以在之后再删除它们.例如,您可以放入主文件的页面加载:

Page.Header.Controls.Remove(YourCssFile);

或者,如果您想同时删除所有css文件:

var themePath = string.Format("~/App_Themes/{0}", Page.Theme);
var removeCandidate = Page.Header.Controls.OfType().Where(link => link.Href.StartsWith(themePath)).ToList();
removeCandidate.ForEach(Page.Header.Controls.Remove);



2> Nick..:

我认为你不能.出于这个原因,我们停止使用App_Themes文件夹.这也节省了我们必须为每个css文件添加一个数字前缀,以便它们以正确的顺序加载.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有