public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Contact",
url: "Contact",
defaults: new {
controller = "Contact", action = "Address"
});
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Home", action = "Index", id = UrlParameter.Optional
}
);
}
Каждое приложение MVC должно сконфигурировать (зарегистрировать) хотя бы один маршрут, который по умолчанию настраивается инфраструктурой MVC
Вы также можете настроить собственный маршрут, используя метод расширения MapRoute.Вам нужно указать как минимум два параметра в MapRoute, имя маршрута и шаблон URL.Параметр по умолчанию является необязательным.Вы можете зарегистрировать несколько пользовательских маршрутов с разными именами.Рассмотрим следующий пример, где мы регистрируем маршрут «Контакт».
Как показано в приведенном выше коде, шаблон URL для маршрута Контакта - это Contacts / {id}, который указывает, что любой URL, начинающийся с domainName / Contacts,должен обрабатываться ContactController.Обратите внимание, что мы не указали {action} в шаблоне URL, потому что мы хотим, чтобы каждый URL, начинающийся с Contact, всегда использовал действие Index ContactController.Мы определили контроллер по умолчанию и действие для обработки любого URL-запроса, который начинается с имени домена / контактов.
Платформа MVC оценивает каждый маршрут в последовательности.Он начинается с первого настроенного маршрута и, если входящий URL-адрес не соответствует шаблону URL-адреса маршрута, он будет оценивать второй маршрут и так далее.В приведенном выше примере механизм маршрутизации сначала оценит маршрут контакта, и если входящий URL-адрес не начинается с / Contacts, то только он будет учитывать второй маршрут, который является маршрутом по умолчанию