asp.net MVC5에서 URL을 만들려고합니다. 나는에 대한 모양이야 동작은 다음과 같습니다 :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