Архив за Февраль, 2010 года

Form Submit не работает в FireFox

Верстая очередную HTML страничку, случайно наткнулся на интересную особенность FireFox. Оказывается, при определенных манипуляциях (или положении звезд) в FireFox не будет срабатывать кнопка Submit (<input type=”submit” />).

Расскажу об этом поподробнее, с пошаговыми инструкциями :).

На то чтобы разобраться в чем проблема, было потрачено полторы сутки рабочего времени.

Продолжить чтение »

Автоматическая минимизация CSS и JavaScript файлов

Одним из способов уменьшения времени загрузки страниц веб-сайтов является уменьшение CSS и JavaScript файлов.

Каким способом это можно сделать?

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

Для минимизации CSS и JavaScript файлов существует огромное множество инструментов. Но одним из наилучших на мой взгляд, является YUI Compressor от компании Yahoo.

YUI Compressor позволяет сократить размер CSS и JavaScript файлов на 40-60%. YUI Compressor написан на языке Java и для своего запуска требует виртуальную машину Java (версии >= 1.4).

При работе с Visual Studio будет немного неудобно использование данного инструмента, поэтому был создан порт данного минимайзера для платформы .NET – YUI Compressor for .NET.

Продолжить чтение »

Вышел ASP.NET MVC 2 RC 2

Вчера вышел второй релиз кандидат фреймворка ASP.NET MVC 2.

Отличий от RC немного, основной упор сделан на улучшение модельной валидации.

Улучшения

  • Для новых проектов обновлен скрипт MicrosoftAjax.js для совместимости с версией ASP.NET Ajax которая включена в ASP.NET 4. Обновленный скрипт совместим с обеими версиями ASP.NET 3.5 SP1 и ASP.NET 4.
  • Улучшена производительность большой части кода фреймворка.
  • У типа данных TempDataDictionary появился новый метод Peek, который читает данные из словаря TempData без удаления их из этого словаря.
  • Такие методы-хелперы, как Html.EditorFor и Html.DisplayFor по умолчанию показывают только простые свойства. Если же необходимо отображать комплексные свойства, то можно создать шаблон для отображения любого набора свойств.
  • Контекстное меню Add View в Visual Studio позволяет создавать представления для удаления данных. У шаблона List появилась ссылка Delete для удаления выбранного пункта.
  • Валидационные хелперы больше не рендерят префикс “form0” для атрибута id.
  • Хелперы для выражений генерируют правильные имена в атрибуте name, когда выражение содержит массив или коллекцию элементов. Например, значение атрибута name, сгенерированного хелпером  Html.EditorFor (m => m.Orders[i]), для первого заказа в списке — будет установлено в Orders[0].
  • Новый тип UrlParameter позволяет удалить значения по умолчанию в роутинге уже после запуска URL роутинга. Если входной параметр роутинга имеет тип UrlParameter.Optional, экземпляр MvcHandler удалит из коллекции RouteData.Values дефолтное определение роутинга. Это облегчает связь с моделями, которые имеют такое же свойство с именем ID, поэтому дефолтное значение параметра роутинга ID не будет конфликтовать со связанной операцией.
  • Чистый шаблон проекта включает небольшой файл Site.css, который содержит стили, используемые в валидационных хелперах таких как Html.ValidationSummary и Html.ValidationMessage.
  • Темплейтные файлы Т4 могут использовать дерективу <#@ output extension=".ext" #>, чтобы указать расширение генерируемого файла.

Продолжить чтение »