我们知道,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上看永远都是在根目录,同时也不需客户自己去选择语种,程序就为其选择并显示了