網站首頁 編程語言 正文
1、重寫InitializeCulture方法。
在Global.asax中的Application_BeginRequest獲取或設置語言,每次頁面的請求都首先運行這個方法,然后再運行具體頁面的InitializeCulture重載方法。
附上一張圖,看看頁面方法和事件的執行順序
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);//設置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瀏覽器和線程獲取語言設置,其實我們可以自己設置使用哪種語言。?
1)通過在每個頁面里的Page節指定
<%@ Page Culture="en-us" UICulture="en-us" %>
如上所設,該頁將使用en-us的語言設置。?
注意:這只是個概要式寫法,實際的頁面中的Page一般都包含更多的屬性。?
2)通過在Web.Config里的globalization節指定
<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、產生的封裝代碼 :
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
相關推薦
- 2023-12-14 統計字符串內某個字符出現的次數
- 2023-06-03 Python+Requests+PyTest+Excel+Allure?接口自動化測試實戰_pyth
- 2023-11-15 latex報錯:Misplaced alignment tab character &. .
- 2022-05-18 Python繪制散點圖的教程詳解_python
- 2023-01-26 Redis中的慢日志_Redis
- 2022-10-30 使用AVFoundation實現視頻錄制詳解_IOS
- 2022-05-26 Flutter自定義年月日倒計時_Android
- 2022-12-21 C和C++中argc和argv的含義及用法詳解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支