Кто-нибудь использует ASP.net (веб-формы) для динамического создания файлов JavaScript и / или CSS?
Я предпочитаю использовать внешние файлы CSS и JavaScript. Однако во многих случаях содержимое файла JavaScript или CSS должно быть динамическим. Обычно я просто переношу javascript или css во встроенный или встроенный код на моей странице aspx и обработаю динамические вещи там.
У кого-нибудь есть лучший подход? Будет ли способ генерировать целые файлы js или css с использованием обычного языка шаблонов asp.net?
В настоящее время я использую веб-формы, но мне было бы интересно решить эту проблему и в MVC.
Спасибо
5 ответов
Я использовал HTTPHandler для отправки динамического JavaScript раньше. Но не то, что наследует от System.Web.UI.Page.
Использование HTTPHandler и ASHX или AXD является способом "ASP.Net" для динамической отправки ресурсов.
Я использовал обработчики для динамического CSS. В зависимости от того, что вам нужно, вы можете сделать то же самое для файлов js.
У меня был файл css с заполнителями для частей, которые должны были быть динамическими, как ##bacgroundcolor##, и обработчик просто заменял при необходимости.
Я также использовал подход, в котором я использую классы CSS, чтобы отметить HTML-элементы, которые требуют особого поведения. Затем static js ищет эти элементы и подключает соответствующие обработчики. Это то, что, конечно, было бы еще проще с jquery (тогда я делал это с обычным js:().
Я делал это на странице aspx раньше, но, по моему мнению, стиль WebForm не подходит для рендеринга строго JavaScript или CSS. Каждый раз, когда я это делал, страница в конечном итоге выглядела как классический ASP.
Я взял код JavaScript, который был в разметке страницы и содержит такие вещи, как <%= control.ClientID %>
и заменил его на статический JavaScript. Я преобразовал код в класс, а затем преобразовал эти переменные части в члены класса. Страница создает экземпляр класса с такими настройками, как ClientID. Функции могут быть статическими.
Мы надеемся, что используемый вами JavaScript останется статичным, и вы просто передадите параметры в методы JavaScript.