我的主题中有以下设置:
\App_Themes\Default\StyleSheet.css
\App_Themes\Default\PrintStyleSheet.css
PrintStyleSheet.css
文件中设置了一组打印的css规则,包含在@Media Print { }
块中。
我需要一种方法以编程方式从ASP.NET的css文件列表中删除PrintStyleSheet.css
以基于某些标志进行注入。 (有些情况我们希望逐字打印网站而不进行自定义格式化。)
我知道我可以在没有PrintStyleSheet.css
的情况下构建一个单独的主题,并以编程方式切换主题,但这会引入我的主样式表的重复,不可接受。
答案 0 :(得分:0)
所以,你看待它的方式似乎是临时的。事实上,为什么不以编程方式确定哪个样式表开始呈现,而不是添加或删除样式表?构建一个简单的用户控件,用于检查确定添加哪些css文件的参数。如果你愿意的话,你也可以覆盖主题引擎(我不确定哪个类是我的头脑,但我确定它在msdn上)。最后一个解决方案是用javascript做客户端,虽然webforms中的javascript可能很痛苦。
ASP.NET生命周期事件: http://www.biotransfer.ca/portfolio/McGill-MUHC/aspnet-life-cycles-events.pdf
以编程方式设置主题: http://msdn.microsoft.com/en-us/library/ms366514%28v=VS.100%29.aspx