Темы ASP.NET x.x (устранение дублирования) - PullRequest
0 голосов
/ 13 ноября 2009

Я использую темы некоторое время, и поздно, когда я пытался реорганизовать свой код, пришла мысль. Моя тема всегда разбита на две части, одна из которых направляет основные вопросы макета, а другая - цвета, изображения и т. Д. Каждый раз, когда нам приходится создавать новый клиент, мы переключаем темы, и все готово. Однако скрытая проблема заключается в том, что мы должны сделать копию макета CSS в каждой теме. Типичный пример моей папки тем: App_Themes - По умолчанию - LayoutCSS - ColorCSS - Изображений - Клиент1 - LayoutCSS - ColorCSS_Client1 - Изображений - Клиент2 - LayoutCSS - ColorCSS_Client2 - Изображения

Если вы заметили, LayoutCSS повторяется во всех темах. Один простой способ устранить дублирование - это удалить его из App_Themes, поместить в отдельную папку и сослаться на него с главной страницы. Недостатком этого подхода является то, что мне приходится вручную ссылаться на стиль на каждой странице, которую я использую (которая не использует мастер-страницы).

Теперь вопрос ... есть ли у меня в любом случае глобальная тема, которая применяется ко всем моим страницам, и локальная тема, которая контролируется из моего web.config (как обычные темы). И обе они вести себя синхронно.

Спасибо

Сашидхар Кокку

1 Ответ

1 голос
/ 13 ноября 2009

Вы можете поместить CSS-файл макета в другой каталог, например, в корневой каталог вашего сайта, а затем поместить CSS-файл в каждую тему, которая просто содержит

@ import "/GlobalLayout.css"

Таким образом, у вас есть только CSS в одном файле, но вы получаете преимущества автоматической ссылки ASP.NET Theme

http://css -discuss.incutio.com /? Страница = ImportHack

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...