Я пытаюсь создать URL-адреса в asp.net MVC5. Поведение я искать ниже:Проблема с параметром маршрута Asp.net MVC5
http://www.example.com/es/faqs ----> when language is Spanish
http://www.example.com/faqs ----> when language is english
Мой маршрут для этого URL:
routes.MapRoute(
name: "FAQs",
url: "{lang}/FAQs",
defaults: new { controller = "StaticPages", action = "FAQs", lang= UrlParameter.Optional }
);
Этот URL делает найти на испанском языке ->http://www.example.com/es/faqs
Но мой вопрос заключается в том, что это url не работает правильно ->http://www.example.com/faqs
Когда я пытаюсь посетить этот URL, я получаю сообщение об ошибке страницы.
В моем маршруте, я пытаюсь сделать lang (код языка) дополнительным, почему мой маршрут не работает, когда в URL-адресе нет кода языка.
Необязательные параметры, как предполагается, являются последним в шаблоне маршрута. Он не будет работать, если после необязательного параметра есть что-то. – Nkosi
Возможно, вы захотите ознакомиться с [этим ответом] (http://stackoverflow.com/a/32839796/181087), как управлять языком по умолчанию. Также можно использовать шаблон декоратора в классе «Route» и/или использовать настраиваемую маршрутизацию атрибутов, поэтому вам не нужно дублировать каждый маршрут. – NightOwl888