asp.net-mvc – ASP.NET MVC切换语言,如何实现?
发布时间:2020-12-16 00:40:03 所属栏目:asp.Net 来源:网络整理
导读:我已经开始将我的简单网站转换为ASP.NET MVC,只是为了弄乱它。我有一个切换语言功能,基本上将会话[“language”]设置为另一种语言并刷新页面。请更正我,如果这可以做得更好,但我已经做了两个控制器,并设置会议在那里。问题是最后的路由。我可以以一些整
我已经开始将我的简单网站转换为ASP.NET MVC,只是为了弄乱它。我有一个切换语言功能,基本上将会话[“language”]设置为另一种语言并刷新页面。请更正我,如果这可以做得更好,但我已经做了两个控制器,并设置会议在那里。问题是最后的路由。我可以以一些整洁的方式刷新页面,还是可以得到当前的Action并重新路由呢?或者这更像是Ajax的场景?
感谢咨询! 解决方法
有什么原因你使用会话变量吗?一个更常见的解决方案是在路线中包含语言代码,即blah.com/en/info或blah.com/jp/info(适用于英文和日文)
如果您这样做,网站上的每个页面都可能包含每种语言的链接。如果您正在撰写公开访问的网站,这也将使google更容易索引您的所有内容。 本文介绍如何在域中包含语言,即。 en.blah.com或jp.blah.com:http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx UPDATED:这是一个简单的例子,包括URL路由中的语言代码。 更改默认路由以包括语言参数: routes.MapRoute( "Default","{language}/{controller}/{action}/{id}",new { language = "en",controller = "Home",action = "Index",id = "" } ); 将每种语言的链接添加到您的母版页: <li><%= Html.ActionLink( "Spanish",ViewContext.RouteData.Values["action"].ToString(),new { language = "es" })%></li> <li><%= Html.ActionLink( "French",new { language = "fr" })%></li> <li><%= Html.ActionLink( "English",new { language = "en" })%></li> 这些将返回到您所在页面的链接 – 只有语言更改。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 你应该在哪里定期登录asp.net-mvc?你应该使用EL
- asp.net-mvc – 在2015年的MVC 5 Razor视图中减少
- C#_.NetFramework_Web项目_EXCEL数据导入
- asp.net-mvc-4 – 访问路径“/ etc/mono/registr
- 如何在非ASP.net上下文中使用C#中的数据验证属性
- asp.net-mvc – ASP.NET MVC / IIS 7.5:500内部
- asp.net – ascx中的Updatepanel刷新了整个控件
- asp.net-mvc – “添加控制器”/“添加视图”在混
- ‘ASP._Page_sitecore_shell_client_Speak_Layou
- asp.net – 这是一个很好的SOA架构吗?
热点阅读