網(wǎng)站首頁 編程語言 正文
1、重寫InitializeCulture方法。
在Global.asax中的Application_BeginRequest獲取或設(shè)置語言,每次頁面的請求都首先運行這個方法,然后再運行具體頁面的InitializeCulture重載方法。
附上一張圖,看看頁面方法和事件的執(zhí)行順序
protected override void InitializeCulture()
{
String curCulture = Request.QueryString["currentculture"];
if (!String.IsNullOrEmpty(curCulture))
{
HttpCookie cookie = new HttpCookie("preferCulture", curCulture);
cookie.Expires = DateTime.Today.AddDays(7);
Response.SetCookie(cookie);//設(shè)置Cookie
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(s);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(s);
}
else
{
HttpCookie cookie = new Request.Cookies["preferCulture"];//取得Cookie
if (cookie != null)
{
curCulture = cookie.Value.ToString();
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(curCulture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(curCulture);
}
}
}
除了通過IE瀏覽器和線程獲取語言設(shè)置,其實我們可以自己設(shè)置使用哪種語言。?
1)通過在每個頁面里的Page節(jié)指定
<%@ Page Culture="en-us" UICulture="en-us" %>
如上所設(shè),該頁將使用en-us的語言設(shè)置。?
注意:這只是個概要式寫法,實際的頁面中的Page一般都包含更多的屬性。?
2)通過在Web.Config里的globalization節(jié)指定
<system.web> <globalization Culture="en-us" UICulture="en-us" /> </system.web>
2、添加資源語言文件
在項目App_GlobalResource文件夾添加Demo.resx和Demo.en-us.rex兩個文件
在首頁中添加:
<a href="?currentculture=zh-cn" >中文(中國)</a>
?
<a href="?currentculture=en-us" >English(USA)</a>
3、獲取全局資源(GlobalResources)的方式:
你能從?~\App_GlobalResources\MyMessages.resx?得到的資源通過:
1、產(chǎn)生的封裝代碼 :
string message = Resources.MyMessages.Hello;
2、資源表達式
<asp:Label Text="<%$ Resources: MyMessages, Hello %>" />
3、GetGlobalResourceObject方法
string message = GetGlobalResourceObject("MyMessages", "Hello");
4、本地資源的獲取方法:
你能從 ~\App_LocalResources\default.aspx.resx 得到的資源通過:
1、資源表達式:
<asp:Label Text="<%$ Resources: Hello %>" />
2、meta:resourceKey :
<asp:Label meta:resourceKey="labelResourceKey" />
3、GetLocalResourceObject方法:
string message = GetLocalResourceObject("Hello"); "
原文鏈接:https://www.cnblogs.com/springsnow/p/13306372.html
相關(guān)推薦
- 2022-06-19 教你cmd?bat文件中調(diào)用另一個bat文件的方法_DOS/BAT
- 2022-05-07 react中的雙向綁定你真的了解嗎_React
- 2022-10-31 Kotlin標準庫函數(shù)使用分析及介紹_Android
- 2022-04-05 MAC中執(zhí)行.sh腳本,/bin/sh^M: bad interpreter:解決辦法
- 2022-10-27 React狀態(tài)管理Redux原理與介紹_React
- 2022-01-27 editor.md第一行解析失敗,解析成代碼模塊原始輸出
- 2022-08-29 詳解C語言中二級指針與鏈表的應(yīng)用_C 語言
- 2022-11-15 基于Golang實現(xiàn)延遲隊列(DelayQueue)_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支