Вчера вышел второй релиз кандидат фреймворка 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" #>, чтобы указать расширение генерируемого файла.
