Указание .aspx в конце файла CSS? - PullRequest
8 голосов
/ 26 февраля 2009

При работе с веб-приложениями в ASP.NET, в чем причина указания файла как stylesheet.css.aspx, а не просто как stylesheet.css? Я видел это в различных веб-приложениях.

Веб-дизайнер упомянул кое-что о том, что это такое .NET, и о хранении глобальной переменной для страницы ASPX, но я не совсем понял и не знаю всей истории.

Это сделано на моей работе для большого веб-приложения с разными сайтами для разных стран. Это заставляет меня задуматься, а когда бы я создавал отдельные веб-приложения для отдельных стран, а не одно веб-приложение для разных языков? Есть ли для этого производственная, архитектурная или другая техническая причина? Я могу думать о нескольких нетехнических причинах (например, соображения SEO).

Ответы [ 6 ]

14 голосов
/ 26 февраля 2009

Возможно, таблица стилей не является статической и динамически генерируется на сервере.

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

Уточнение : Хотя вы можете отобразить расширение .css в IIS, которое будет обрабатываться ASP.NET. У него две проблемы:

  1. Статические CSS-файлы также будут передаваться во время выполнения ASP.NET, что приведет к небольшому снижению производительности.
  2. Во многих средах общего хостинга вы не можете контролировать сопоставления обработчиков IIS.

Веб-браузеры не заботятся (по крайней мере, они не должны заботиться) о расширении или чем-то еще об URL. Единственное, о чем они должны заботиться - это заголовок Content-Type. Должно быть установлено text/css; в противном случае некоторые из них могут жаловаться.

3 голосов
/ 26 февраля 2009

Таблица стилей - это просто текстовый файл - вы можете указать любое расширение файла, если хотите, чтобы ваш <link> соответствовал. Другими словами это будет работать:

<link type="text/css" rel="stylesheet" href="style.foobar"/>

до тех пор, пока ваша таблица стилей имеет это имя. Я не могу придумать причину присвоения таблицы стилей расширением .aspx, поскольку она вводит в заблуждение и вводит в заблуждение. [В других сообщениях есть хорошие объяснения, почему это можно использовать.]

1 голос
/ 26 февраля 2009

Как уже упоминалось, сервер должен обрабатывать его как файл aspx. Я уверен, что он будет выплевывать css, но позволит вам выполнять обработку на стороне сервера.

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

Другая распространенная причина для этого - избегать дублирования определений цвета. Технически, вы также можете избежать этого, используя имена классов, но это становится довольно раздражающим. Большинство людей хотят иметь что-то вроде:

define sitebordercolor #999; define sitebackgroundcolor #fff;

и затем в их CSS, можно сделать:

.foo { border: 1px solid #sitebordercolor; background-color: #sitebackgroundcolor; }

Однако CSS не позволяет вам этого делать. Таким образом, используя файлы ASPX, вы можете добиться того же результата:

.foo { border: 1px solid <%=sitebordercolor %>; background-color: <%=sitebackgroundcolor %>; }

0 голосов
/ 20 апреля 2009

Ответ Мехрдада точен в отношении файлов CSS - так мы включаем динамические цвета на ряде наших сайтов - цвет задается в строке запроса, включается кэширование страниц, изменяющееся по этой строке запроса , и вы идете.

В ответ на архитектурную часть этого вопроса:

Несмотря на то, что SEO рекомендует рекомендовать, чтобы локализованный контент часто подавался с локального сервера и домена (например, французского контента в домене .fr), это часто невозможно.

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

0 голосов
/ 26 февраля 2009

Если вы назовете таблицу стилей .aspx, она будет обрабатываться механизмом ASP.Net, а не просто служить текстовым файлом.

Как только вы попадаете в .Net, вы можете писать свой CSS на лету. Я бы предпочел параметризованный css.aspx, поскольку браузер хочет кэшировать CSS-файлы.

0 голосов
/ 26 февраля 2009

Таблицы стилей, как правило, представляют собой статические текстовые файлы, поэтому нет причин давать им расширение .aspx, если они не генерируются динамически.

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