【问题标题】:Manipulate Page Theme Programmatically以编程方式操作页面主题
【发布时间】:2010-05-31 21:44:57
【问题描述】:

我的主题中有以下设置:

  • \App_Themes\Default\StyleSheet.css
  • \App_Themes\Default\PrintStyleSheet.css

PrintStyleSheet.css 文件中有一组打印 css 规则集,包含在 @Media Print { } 块中。

我需要一种方法以编程方式从 css 文件列表中删除 PrintStyleSheet.css,以便 ASP.NET 根据某些标志进行注入。 (在某些情况下,我们希望在没有自定义格式的情况下逐字打印网站)。

我知道我可以构建一个没有PrintStyleSheet.css 的单独主题并以编程方式切换主题,但是这会引入我的主样式表的重复,这是可接受的。

【问题讨论】:

标签: c# asp.net webforms asp.net-3.5 themes


【解决方案1】:

因此,您看待它的方式似乎是临时性的。与其在事后添加或删除样式表,不如以编程方式确定从哪个样式表开始呈现?构建一个简单的用户控件,用于检查确定添加哪些 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

【讨论】:

  • 那么你的建议是抛弃Theme System 一起做我自己的<link /> 标签?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 2013-02-09
  • 1970-01-01
相关资源
最近更新 更多