asp.net 2.0 语言包 全球化
新建一個測試站點添加 一個頁面 test.aspx 在頁面上拉出一個label控件命名為了 labTest
添加兩個特殊的文件夾App_GlobalResources App_LocalResources?
右鍵單擊App_LocalResources 添加一個新的文件 命名為 test.aspx.resx 打開test.aspx.resx?
添加一條新的記錄 名稱:labTest 值:測試
復制test.aspx.resx 文件。并命名成 test.aspx.en.resx (英文 en) 修改 labelTest的值為:test
接 下來在 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Culture="auto:zh-cn" UICulture="auto:zh-cn"? Inherits="test" %>
加上 Culture 和 UICulture (測試發現 Culture沒有起作用可以刪除)
打開labTest屬性框。 找到 dataExpression Expression type 選擇 resource ,resourceKey選擇 labTest
查看這個頁面。我們可以看到 測試 兩個字?
接下來。internet選項 語言 添加一個新的語言 en 并把它放在第一位。。重新刷新頁面你可以看到 test
注意: app_localresources 文件夾里的資源文件的命名 文件名稱."語言代號".resx 并且需要一個默認的沒有語言代號的
我們繼續試一下 App_GlobalResources(全局資源) 新建一個 Resource.ascx 添加 labTest2 值:測試2
復制出一個 Resource.en.ascx 值為? Test2?
在test.aspx里再拉出一個 label 選取 data expression 繼續選擇 resource 把Resource(剛才取的名稱)放入 classkey 接下來就可以選擇
resourceKey 為 labTest2
測試。你就可以看到你想要的了.
如何自己去控制 語言呢。我們只要重寫 InitializeCulture() 并在里面設置? System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("name");
protected?override?void?InitializeCulture()????{
????????System.Threading.Thread.CurrentThread.CurrentUICulture?=?new?System.Globalization.CultureInfo("name");
????????//base.InitializeCulture();
????}
就可以了
這個時候也許會你問哪一些我們需要動態提示綁定的應該什么處理呢。
我們發現也很簡單。
原來可以直接通過
?this.Title = Resources.Resource.labTest2; 這樣的方式來獲得 Resource(同樣為你資源的名字)
?
this.Title =HttpContext.GetLocalResourceObject("~/ActivityList.aspx", "Title").ToString(); 這樣也可以獲取
posted on 2018-08-10 21:46 micwin 閱讀(...) 評論(...) ?編輯 收藏轉載于:https://www.cnblogs.com/chinanetwind/articles/9457581.html
總結
以上是生活随笔為你收集整理的asp.net 2.0 语言包 全球化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 1297 Children’s
- 下一篇: 系统运维|IIS的日志设置