Asp.net MVC5路由参数问题
Asp.net MVC5 route parameter issue
我正在尝试在 asp.net MVC5 中创建 URLs。我正在寻找的行为如下:
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 中没有语言代码时不起作用。
可选参数应该是路由模板中的最后一件事。当可选参数后面有任何内容时,它将不起作用。您将不得不创建两个模板以允许两种格式
routes.MapRoute(
name: "LocalizedFAQs",
url: "{lang}/FAQs",
defaults: new { controller = "StaticPages", action = "FAQs", lang = "en" }
);
routes.MapRoute(
name: "DefaultFAQs",
url: "FAQs",
defaults: new { controller = "StaticPages", action = "FAQs", lang = "en" }
);
我正在尝试在 asp.net MVC5 中创建 URLs。我正在寻找的行为如下:
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 中没有语言代码时不起作用。
可选参数应该是路由模板中的最后一件事。当可选参数后面有任何内容时,它将不起作用。您将不得不创建两个模板以允许两种格式
routes.MapRoute(
name: "LocalizedFAQs",
url: "{lang}/FAQs",
defaults: new { controller = "StaticPages", action = "FAQs", lang = "en" }
);
routes.MapRoute(
name: "DefaultFAQs",
url: "FAQs",
defaults: new { controller = "StaticPages", action = "FAQs", lang = "en" }
);