开发者

How to show route default value?

I have a route:

"{culture}/{controller}/{action}/{id}", new { culture = "en", controller = "Home", action = "Index", id = UrlParameter.Optional }

The Url becomes h开发者_开发知识库ttp://mysite.com

I want to show the culture name so that the url will look like this: http://mysite.com/en


Defaults are always hidden

Defaults are always hidden as long as all values after it are provided with defaults as well. You will have to provide two route definitions:

"en/{controller}/{action}/{id}", new { culture = "en" , ... }

"{culture}/{controller}/{action}/{id}", ...

The first one will always add en after domain address for outbound links and will also process the request when an inbound request will start with en segment.

In case culture is different than English, second route will get hit and process inbound and outbound routing.

Note about [in/out]bound:

  • Inbound routing processes requests when they hit your server
  • Outbound routing processes when you generate URLs on your views (links, form actions...)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜