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