Подтвердить что ты не робот

Темы ASP.NET - должны ли они использоваться?

Я читал темы в своей книге ASP.NET и думал, что это может быть очень удобное решение, а затем я столкнулся с некоторыми проблемами.

  • Тема поднимает каждый файл CSS в папке
  • Если вы хотите использовать стили reset (где важно упорядочение), порядок импортированных таблиц стилей не гарантируется
  • Ваша главная страница не будет явно указывать, какой стиль используется, только отображаемая страница может сказать вам, что, если вы не вникнете в свой web.config
  • Стилирование веб-элементов управления с помощью файла темы... ну... глупо? Вы можете просто сделать это в своей таблице стилей. Гранулированный контроль должен быть на уровне HTML, если это не так?
  • Как вы определяете таблицы стилей печати, не имея всех стилей в одной таблице стилей?

Мне интересно, действительно ли они вообще нужны. Есть ли польза? Есть ли там какие-либо крупные сайты?

ИЗМЕНИТЬ

Просто для того, чтобы прояснить последнее слово slolife. Если бы у меня было две таблицы стилей, одна из которых называлась print.css и одна называлась main.css, и я использовал темы ASP.NET, как бы он знал, что print.css - таблица стилей печати? В обычном HTML вы используете тип носителя в самом теге (т.е. <link rel= ...>), но темы не знали бы этого, поэтому он просто включается как обычная таблица стилей.

4b9b3361

Ответ 1

Мне нравится использовать темы, но, как указал Радж в своем ответе, переписывание URL-адресов может вызвать проблемы. Я искал некоторые решения для этого, что привело меня к вашему вопросу. Но я все равно добавлю свои мнения.

Я рассмотрю некоторые из ваших пуль сверху, чтобы понять, почему темы хороши:

- Тема поднимает каждый файл CSS в папке

Я предполагаю, что вы хотите применять только определенные файлы таблиц стилей к определенным страницам. Да, темы принимают подход дробовика здесь, так что проблема. Но вам не нужно класть все таблицы стилей в папку темы. Поместите своих специализированных за пределами него, и они не будут включены автоматически. Но я думаю, что это хорошая функция, чтобы иметь общие/широкие сайты, включенные автоматически.

- Если вы хотите использовать стили reset (где важно упорядочение), порядок импортированных таблиц стилей не гарантируется

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

Лично у меня есть шаг сборки, который объединяет и сжимает все *.css файлы в моей папке тем в один файл style.css, и поскольку я контролирую этот шаг сборки и порядок объединения файлов, это не влияет на меня.

- Ваша главная страница не будет явно указывать, какой стиль используется, только отображаемая страница может сказать вам, что, если вы не вникнете в свой web.config

Вы можете изменить тему с помощью кода и в директиве <% @page

- Стилирование веб-элементов управления с использованием файла темы... ну... глупо? Вы можете просто сделать это в своей таблице стилей. Гранулированное управление должно быть на уровне HTML, если это не так?

Я согласен с тем, что применение атрибутов стиля к элементам управления через тему не является лучшей практикой. Но мне нравится то, что я могу определять скины изображений в файлах темы темы и не нужно вырезать и вставлять Width, Height, AlternativeText, выравнивать атрибуты для обычных изображений, которые я использую во многих местах по всему сайту. И если я когда-либо изменю одно из этих изображений, я могу исправить атрибуты в одном месте, а не повсюду. Я также могу создавать скин-элементы с определенным списком классов CSS, которые мне кажутся удобными.

- Как вы определяете таблицы стилей печати, не имея всех стилей в одной таблице стилей?

У меня есть файл Print.css, который начинается с печати @media и определяет стили печати для моего сайта. Зачем вам помещать их в одну таблицу стилей?

Ответ 2

IMHO, темы asp.net абсолютно БЕСПЛАТНО

попробуйте выполнить переписывание URL-адресов с помощью приложения, которое использует темы и сразу же их разрывает.

в принципе, вы можете добиться того же, что написано несколько строк кода в asp.net и нескольких папках css. я еще не встречал ни одного разработчика/компании, которая использовала темы

когда был запущен asp.net 2.0, вокруг темы была большая шумиха, но мое личное мнение просто не стоит: -)

Ответ 3

Использовать темы только для изменения управляющих атрибутов. Они были плохо разработаны для работы с css.