asp.net mvc 2 如何获取url参数的第一部分并将其传递给控制器​​?

发布于 2024-10-29 00:42:57 字数 620 浏览 3 评论 0原文

我正在构建一个具有多种语言版本的网站。目前,我使用会话变量来管理不同语言版本的国家/地区代码

,但今天客户端特别要求将国家/地区代码放在域名后面的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤者何惧 2024-11-05 00:42:57

找到了解决方案,
只需使用 RouteData.Values["country"],又好又简单!

Found the solution,
Just use RouteData.Values["country"], nice and simple!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文