Что Asp.net Themes обеспечивает, что хорошо разработанный CSS не дает? - PullRequest
0 голосов
/ 20 августа 2009

Я работаю над проектом, который использует темы Asp.Net и не видит их цели.

Пользователи не могут менять тему на лету, сайты уже используют masterpages и css.

Кто-нибудь имеет какую-либо конкретную функциональность темы, которую он нашел полезной или полезной, которую css не может сделать самостоятельно?

Обратите внимание, что я действительно выбросил файлы .css через Isapi и выполнил некоторые динамические стили, без тем asp.net.

Ответы [ 7 ]

5 голосов
/ 20 августа 2009

Я думаю, что все здесь путают темы asp.net со скинами asp.net. Темы используются для группировки CSS-файлов и оболочек в именованную папку, чтобы их можно было легко и централизованно применять. Скины используются специально для элементов управления asp.net, которые могут иметь функции, которые CSS не может напрямую контролировать. Вы можете использовать скин для установки атрибута CssClass элемента управления для множества различных областей или функций элемента управления, а затем использовать CSS для применения необходимого стиля.

Подобно тому, что упоминали другие ... Я бы не стал использовать скины для форматирования шрифта, рамки и т. Д. И использовать CSS для применения любых из этих настроек. Используйте файл обложки, чтобы применить стандартные настройки к элементам управления asp.net (например, <asp:Calendar... />) по всему сайту, а затем использовать касательную CSS для применения желаемого стиля.

Подробнее см. в этой статье MSDN .

3 голосов
/ 20 августа 2009

Темы ASP.NET и CSS - это две дороги, которые ведут в один и тот же город. По моему опыту, вы мало что можете сделать с одним, что вы не можете сделать с другим. Из своего опыта я также обнаружил, что CSS имеет тенденцию быть лучшим подходом с точки зрения масштабируемости и удобства обслуживания.

0 голосов
/ 20 августа 2009

Темы имеют два преимущества по сравнению с CSS, хотя вы можете утверждать, что, вероятно, можете утверждать, что вы можете делать их иначе:

  1. Они обеспечивают тематические элементы управления на стороне сервера. Это выходит за рамки цветовых свойств, управляемых CSS, и других свойств, которые вы, возможно, захотите установить, таких как поведение, стили, а в случае элементов Templateable даже их содержимое. Например, вы можете определить сетку в теме, которая имеет элементы управления подкачкой по умолчанию, тогда вам не нужно определять элементы управления подкачкой для каждой сетки, которую вы добавляете на страницу.

  2. Вы можете изменить всю свою тему, основываясь на некоторых других настройках (например, пользовательских настройках), чтобы включить разные CSS-файлы и потенциально различные параметры отображения / по умолчанию для элементов управления.

Примечание. Тема включает файл обложки ASP.NET и коллекцию CSS-файлов, которые автоматически включаются.

Несмотря на то, что я не сталкивался со многими из 2. уже выполненных задач, в нашем использовании мы предоставляем единую папку, содержащую все изображения и стили, изображения и т. Д., Которую мы можем развернуть в каждом помещении клиента с нашим продуктом для По-разному выглядят один и тот же код, предоставляя разработчикам простой механизм изменения внешнего вида и «тестирования» для каждого клиента с использованием одной и той же базы кода.

0 голосов
/ 20 августа 2009

Ради согласованности, стандартов и гибкости я рекомендую вам забыть все о темах ASP.Net, поскольку они в основном выполняют одну и ту же работу, а CSS является развивающимся и популярным стандартом, которого нет в темах ASP.Net.

Все браузеры имеют встроенную поддержку CSS, и если вы подтвердите это, вы по крайней мере будете иметь основную уверенность в том, что ваш сайт будет хорошо выглядеть в браузерах, соответствующих стандартам. Темы ASP.Net, с другой стороны, могут создавать разметку, которую браузер может не любить.

0 голосов
/ 20 августа 2009

Да.

asp.net 'themes' позволяет вам не только устанавливать css и изображения для любой выбранной темы, вы можете использовать файл .Skin для изменения любого свойства [[Themeable] 'элемента управления .net. Это невозможно в одной только css (так как это на стороне сервера).

0 голосов
/ 20 августа 2009

Исходя из моего опыта, темы довольно бесполезны, за исключением раздувания HTML с большим количеством избыточных стилей.

0 голосов
/ 20 августа 2009

Отсутствует.

Темы ASP.NET встроены в каркас и упрощают переключение, устанавливая переменную каркаса. Однако я предпочитаю .css, который легко реализовать, если все сделано правильно.

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