Управлять темой страницы программно - PullRequest
1 голос
/ 01 июня 2010

У меня есть следующая настройка в моей теме:

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

Файл PrintStyleSheet.css содержит набор правил печати CSS, заключенных в блок @Media Print { }.

Мне нужен способ программно удалить PrintStyleSheet.css из списка файлов css для ASP.NET для вставки на основе некоторых флагов. (В некоторых случаях мы хотим печатать сайт дословно без специального форматирования).

Я знаю, что мог бы создать отдельную тему без PrintStyleSheet.css и переключить тему программно, однако это привело бы к дублированию моей основной таблицы стилей, которая не приемлема.

1 Ответ

0 голосов
/ 01 июня 2010

Итак, то, как вы смотрите на это, кажется специальным. Вместо того, чтобы добавлять или удалять таблицу стилей по факту, почему бы программно не определить, какая таблица стилей будет отображаться для начала? Создайте простой пользовательский элемент управления, который проверяет параметры, которые определяют, какие CSS-файлы добавляются. Вы также можете переопределить движок тем (я не уверен, какой класс это у меня в голове, но я уверен, что он на MSDN), если хотите. Последнее решение было бы сделать это на стороне клиента с javascript, хотя 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

...