вторник, 2 ноября 2010 г.

Понимание маршрутизации для ASP.NET MVC

ИСТОЧНИК: "Professional ASP.NET MVC 1.0 By Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie"

Понимание маршрутизации для ASP.NET MVC

ASP.NET MVC содержит мощный механизм  роутинга URL,  позволяющий очень гибко  контролировать то, как URL работает  с классами контроллеров.  Это позволяет нам полностью настроить то ,  как ASP.NET MVC  выбирает класс контроллера ,какой метод вызывает, а также настроить различные способы с помощью которых переменные будут автоматически извлекаться из URL  и передаваться в методы в качестве параметров. Этот механизм  дает нам ту гибкость, которая позволит полностью оптимизировать сайт для Поисковой Отимизации , а также показывать любу стуктуру URL  какую мы хотим для приложения.

По умолчанию, новые проекты ASP.NET MVC  содержат в себе предустановленные настройки для URL роутинга. Этопозволяет легко начать работу с приложением без необходимости что либо настраивать.  Настройки правил для “URL маршрутизации по умолчанию”  можно найти в  файле Global.asax вашего ASP.NET MVC  приложения в классе “ Application ”. По умолчанию, правила маршрутизации для ASP.NET MVC  регистрируются в  методе “RegisterRoutes” этого класса.
“routes.MapRoute()” – регистрирует правило маршрутизации по умолчанию,  которое выстраивает соответствие входящего  URL  и классов котроллера, используя следующий формат URL : "/{controller}/{action}/{id}” – где “controller” это имя класса контроллера , экземпляр которого будет использоваться, “action” – это имя паблик метода который будет вызван, “id” – необязательный параметр, который может быть использован для переlачи парметра в метод из URL.  Третий параметр который подается в “MapRoute()” – это усановка набора  значений по умолчанию который используется для значения controller/action/id  в случае если они не присутствуют в URL  (Controller = “Home”,Action=”Index”, Id=””). Тоесть если мы ничего не введем в URL – эти значения будут подставленны автоматически.

Ниже приводится таблица, которая демонстрирует, как выстраиваются соответсвия между различными URL  и классами контроллера с их методаими, согдасно правилу маршрутизации “/{controllers}/{action}/{id}”.

Последние три строки показывают значения по умолчанию
 (Controller = Home, Action = Index, Id = ""). Так как метод “Index” зарегистрирован как имя действия по умолчанию, если таковое не указано, “/Dinners” и “/Home”  в URL   будут вызывать метод  Index() для соответствующих котроллеров. Так как контроллер “Home” зарегистрирован как контроллер по умолчанию , “/” в URL  будет создавать экземпляр класса HomeController и вызывать его метод  Index(). Если вам не нравятся правила маршрутизации по умолчанию – вы легко можете настроить их по своему усмотрению .

Комментариев нет:

Отправить комментарий