我們知道,ActionResult 的return View()方法里有很多重載方法
如: //
// 摘要:
// 創(chuàng)建一個將視圖呈現(xiàn)給響應(yīng)的 System.Web.Mvc.ViewResult 對象。
//
// 返回結(jié)果:
// 將視圖呈現(xiàn)給響應(yīng)的視圖結(jié)果。
protected internal ViewResult View();
//
// 摘要:
// 創(chuàng)建一個呈現(xiàn)指定的 System.Web.Mvc.IView 對象的 System.Web.Mvc.ViewResult 對象。
//
// 參數(shù):
// view:
// 為響應(yīng)呈現(xiàn)的視圖。
//
// 返回結(jié)果:
// 視圖結(jié)果。
protected internal ViewResult View(IView view);
//
// 摘要:
// 使用模型創(chuàng)建一個將視圖呈現(xiàn)給響應(yīng)的 System.Web.Mvc.ViewResult 對象。
//
// 參數(shù):
// model:
// 視圖呈現(xiàn)的模型。
//
// 返回結(jié)果:
// 視圖結(jié)果。
protected internal ViewResult View(object model);
//
// 摘要:
// 使用視圖名稱創(chuàng)建一個呈現(xiàn)視圖的 System.Web.Mvc.ViewResult 對象。
//
// 參數(shù):
// viewName:
// 為響應(yīng)呈現(xiàn)的視圖的名稱。
//
// 返回結(jié)果:
// 視圖結(jié)果。
protected internal ViewResult View(string viewName);
//
// 摘要:
// 創(chuàng)建一個呈現(xiàn)指定的 System.Web.Mvc.IView 對象的 System.Web.Mvc.ViewResult 對象。
//
// 參數(shù):
// view:
// 為響應(yīng)呈現(xiàn)的視圖。
//
// model:
// 視圖呈現(xiàn)的模型。
//
// 返回結(jié)果:
// 視圖結(jié)果。
protected internal virtual ViewResult View(IView view, object model);
//
// 摘要:
// 使用視圖名稱和模型創(chuàng)建一個將視圖呈現(xiàn)給響應(yīng)的 System.Web.Mvc.ViewResult 對象。
//
// 參數(shù):
// viewName:
// 為響應(yīng)呈現(xiàn)的視圖的名稱。
//
// model:
// 視圖呈現(xiàn)的模型。
//
// 返回結(jié)果:
// 視圖結(jié)果。
protected internal ViewResult View(string viewName, object model);
//
// 摘要:
// 使用視圖名稱和母版頁名稱創(chuàng)建一個將視圖呈現(xiàn)給響應(yīng)的 System.Web.Mvc.ViewResult 對象。
//
// 參數(shù):
// viewName:
// 為響應(yīng)呈現(xiàn)的視圖的名稱。
//
// masterName:
// 在呈現(xiàn)視圖時要使用的母版頁或模板的名稱。
//
// 返回結(jié)果:
// 視圖結(jié)果。
protected internal ViewResult View(string viewName, string masterName);
//
// 摘要:
// 使用視圖名稱、母版頁名稱和模型創(chuàng)建一個呈現(xiàn)視圖的 System.Web.Mvc.ViewResult 對象。
//
// 參數(shù):
// viewName:
// 為響應(yīng)呈現(xiàn)的視圖的名稱。
//
// masterName:
// 在呈現(xiàn)視圖時要使用的母版頁或模板的名稱。
//
// model:
// 視圖呈現(xiàn)的模型。
//
// 返回結(jié)果:
// 視圖結(jié)果。
protected internal virtual ViewResult View(string viewName, string masterName, object model);
由此可知,當(dāng)我們修改viewName界面視圖的參數(shù)里就可以輸出不同的用戶界面
以首頁為例,假設(shè)我們在Views文件下的Home文件里放入已經(jīng)翻譯成三種語言的.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";
}
}
默認(rèn)為英語
這樣當(dāng)程序并會自動根據(jù)客戶瀏覽器的默認(rèn)語種來自動顯示其恰當(dāng)?shù)恼Z種了,
這樣做非常恰當(dāng),從url上看永遠(yuǎn)都是在根目錄,同時也不需客戶自己去選擇語種,程序就為其選擇并顯示了
網(wǎng)站建設(shè)與互動創(chuàng)意設(shè)計
品牌形象平面設(shè)計
網(wǎng)絡(luò)整合營銷與傳播
企業(yè)整合托管服務(wù)