Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework» Занятие 3 Маршрутизация и контроллеры Гайдар Магдануров GaidarMa@microsoft.com Маршрутизация Маршруты • Задаются в Global.asax • Поддерживают регулярные выражения • Механизм может быть переопределен 1 http://srv/Home/Products/2 2 Маршруты • Маршрут будет использован, только если date удовлетворяет формату NN-NN-NNNN Маршруты • Возможность создания собственных условий для маршрутов – Аутентификация, переменные окружения и любые другие условия ЛАБОРАТОРНАЯ РАБОТА СОЗДАНИЕ МАРШРУТОВ 6 Контроллеры Контроллеры • Обработка запросов и взаимодействие с моделью • Параметры метода связываются автоматически Связывание параметров метода • По названию переменной и поля формы, параметра QueryString или маршрута • Конструирование сложных объектов по именам полей Управление связыванием • Возможность включить и исключить свойства при конструировании объектов Атрибуты действий • AcceptVerbsAttribute – Ограничения по типа запроса – Разделение действий доступных по GET и POST Фильтры действий • ActionFilter – Выполнение операций помимо действия контроллера – Расширение существующих действий без модификации кода Пример ActionFilter • Сжатие Фабрика контроллеров • Возможность определить свою фабрику, создающую контроллеры • Создание удобной инфраструктуры для контроллеров 14 ЛАБОРАТОРНАЯ РАБОТА СОЗДАНИЕ КОНТРОЛЛЕРА 15