Определить пользовательский маршрут asp.net mvc5 - PullRequest
0 голосов
/ 03 октября 2018

Я хочу назначить маршрут в приложении asp.net mvc.

У меня есть контроллер измерений.У меня есть 3 типа измерения в бизнес-сценарии.

  1. Блузка
  2. Ленга
  3. Парди

Из-за чего я хотел, чтобы URL был похож на Измерение / Создание /Lhenga

Точно так же я хочу создать маршруты Measurement / Create / Blouse и Measurement / Create / Pardi .

ХотяЯ знаю, что мне придется написать маршрут в классе RouteConfig.cs.Я написал

 routes.MapRoute(
            "MeasurementRoute",
            "{controller}/{action}/{type}/"
            );

1 Ответ

0 голосов
/ 04 октября 2018
    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, то только он будет учитывать второй маршрут, который является маршрутом по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...