咨询电话: 0592-5506201
网站建设

网站建设之巧用MVC路由实现网站自动根据客户端选择显示语种

来源:中信时代网络科技 | 作者:admin | 时间:2013-02-18 | 点击量:3190

我们知道,ActionResult 的return View()方法里有很多重载方法
如:  //
        // 摘要:
        //     创建一个将视图呈现给响应的 System.Web.Mvc.ViewResult 对象。
        //
        // 返回结果:
        //     将视图呈现给响应的视图结果。
        protected internal ViewResult View();
        //
        // 摘要:
        //     创建一个呈现指定的 System.Web.Mvc.IView 对象的 System.Web.Mvc.ViewResult 对象。
        //
        // 参数:
        //   view:
        //     为响应呈现的视图。
        //
        // 返回结果:
        //     视图结果。
        protected internal ViewResult View(IView view);
        //
        // 摘要:
        //     使用模型创建一个将视图呈现给响应的 System.Web.Mvc.ViewResult 对象。
        //
        // 参数:
        //   model:
        //     视图呈现的模型。
        //
        // 返回结果:
        //     视图结果。
        protected internal ViewResult View(object model);
        //
        // 摘要:
        //     使用视图名称创建一个呈现视图的 System.Web.Mvc.ViewResult 对象。
        //
        // 参数:
        //   viewName:
        //     为响应呈现的视图的名称。
        //
        // 返回结果:
        //     视图结果。
        protected internal ViewResult View(string viewName);
        //
        // 摘要:
        //     创建一个呈现指定的 System.Web.Mvc.IView 对象的 System.Web.Mvc.ViewResult 对象。
        //
        // 参数:
        //   view:
        //     为响应呈现的视图。
        //
        //   model:
        //     视图呈现的模型。
        //
        // 返回结果:
        //     视图结果。
        protected internal virtual ViewResult View(IView view, object model);
        //
        // 摘要:
        //     使用视图名称和模型创建一个将视图呈现给响应的 System.Web.Mvc.ViewResult 对象。
        //
        // 参数:
        //   viewName:
        //     为响应呈现的视图的名称。
        //
        //   model:
        //     视图呈现的模型。
        //
        // 返回结果:
        //     视图结果。
        protected internal ViewResult View(string viewName, object model);
        //
        // 摘要:
        //     使用视图名称和母版页名称创建一个将视图呈现给响应的 System.Web.Mvc.ViewResult 对象。
        //
        // 参数:
        //   viewName:
        //     为响应呈现的视图的名称。
        //
        //   masterName:
        //     在呈现视图时要使用的母版页或模板的名称。
        //
        // 返回结果:
        //     视图结果。
        protected internal ViewResult View(string viewName, string masterName);
        //
        // 摘要:
        //     使用视图名称、母版页名称和模型创建一个呈现视图的 System.Web.Mvc.ViewResult 对象。
        //
        // 参数:
        //   viewName:
        //     为响应呈现的视图的名称。
        //
        //   masterName:
        //     在呈现视图时要使用的母版页或模板的名称。
        //
        //   model:
        //     视图呈现的模型。
        //
        // 返回结果:
        //     视图结果。
        protected internal virtual ViewResult View(string viewName, string masterName, object model);
由此可知,当我们修改viewName界面视图的参数里就可以输出不同的用户界面
以首页为例,假设我们在Views文件下的Home文件里放入已经翻译成三种语言的.aspx文件,如中文cn_Index.aspx英文en_Index.aspx俄文ru_Index.aspx
这样我们可以在控制器里先判断客户语种
string langIndex = "en";

               if (Request.UserLanguages.Length > 0)
               {
                   if (Request.UserLanguages[0].ToLower().Contains("zh"))
                   {
                       langIndex = "cn";
                   }
                   else if (Request.UserLanguages[0].ToLower().Contains("ru"))
                   {
                       langIndex = "ru";
                   }
               }
默认为英语
这样当程序并会自动根据客户浏览器的默认语种来自动显示其恰当的语种了,
这样做非常恰当,从url上看永远都是在根目录,同时也不需客户自己去选择语种,程序就为其选择并显示了

全国统一服务咨询电话:0592-5506201
服务咨询及项目合作:info@zxnow.com
大型项目招标合作:info@zxnow.com
点击此处立即在线沟通:[网站建设业务]
点击此处立即在线沟通:[网站优化业务]
站点声明 | 如何合作 | 公司简介 | 联络方式
版权所有:厦门中信时代网络科技有限公司 Copyright © 2012-2025   www.zxnow.com  All Rights Reserved.
总机:0592-5506201 ; 0592-5506216 邮箱:info@zxnow.com 地址:厦门市长青北里106号怡祥大厦1601 您是第1000位来访者
   闽ICP备09006118号
厦门网站建设 | 厦门网站设计 | 厦门网站制作 | 厦门网站优化 | 厦门微信网站建设 | 友情链接加QQ:435276757 |
珠海网站建设 | 长沙网站建设 | 贵阳网站建设 | 旅游网站建设 | 厦门网站设计 | 厦门网站建设 | 深圳网站设计 | 深圳网站建设 |
我们在线的时间
9:00-24:00