asp.net mvc 2 如何获取url参数的第一部分并将其传递给控制器?
我正在构建一个具有多种语言版本的网站。目前,我使用会话变量来管理不同语言版本的国家/地区代码
,但今天客户端特别要求将国家/地区代码放在域名后面的 url 中,这样站点 url 将像这些示例
英国版本: www. mysite.com/uk/{controller}/{action}/{id}
美国版本:www.mysite.com/usa/{controller}/{action}/{id}
我定义了默认路由,
routes.MapRoute(
"Default", // Route name
"{country}/{controller}/{action}/{id}", // URL with parameters
new { country ="uk", controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults.uk is the default value
);
但我不确定如何获取控制器中 url 的第一段?
I'm building a site that has a number of language versions. currently I use session variable to manage the country code for different language version
but today the client specifically requires to put the country code in the url right behind the domain name so the site url will be like these examples
uk version: www.mysite.com/uk/{controller}/{action}/{id}
usa version: www.mysite.com/usa/{controller}/{action}/{id}
I defined the default route to
routes.MapRoute(
"Default", // Route name
"{country}/{controller}/{action}/{id}", // URL with parameters
new { country ="uk", controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults.uk is the default value
);
but I'm not sure how to get the first segment of the url in the controllers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
找到了解决方案,
只需使用 RouteData.Values["country"],又好又简单!
Found the solution,
Just use RouteData.Values["country"], nice and simple!