編程使用資源文件實現多語言頁面(In Action)_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:將一個圖片按比例縮放顯示在一個Frame中
      代碼如下: 以下為引用的內容: 'Form1.frm VERSION 5.00 Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0&

      需求:我們的ASP.NET站點需要提供多語言支持,考慮到我們使用的是ASP.NET2.0,我們可以利用資源文件來實現。

      NOTE:這里我們使用編程的方法實現,使用其他方法,請參見:

      http://msdn2.microsoft.com/en-us/library/c6zyy3s9.aspx

      接下來我們演示一個簡單的例子

      Steps:

      Step1:在Visual Studio2005中創建一個ASP.NET站點

      Step2:在網站項目中添加App_GlobalResources

      Note:這里我們使用全局資源文件作為演示,本地資源文件操作步驟類似,關于全局資源文件與本地資源文件的異同,請參見

      http://msdn2.microsoft.com/en-us/library/ms227427.aspx

      中Choosing Between Global and Local Resource Files這一段

      Step3:在App_GlobalResources中添加項,選擇Resource File模板,取名為Site.resx

      Note:這是我們的默認語言資源文件,必須要有

      在這個資源文件的鍵/值配對中寫入:

      Name : btnSubmitText

      Value: Submit

      Step4:增加我們需要的各種語言的資源文件,這里我們增加兩個文件

      Site.zh-CN.resx

      在這個資源文件的鍵/值配對中寫入:

      Name : btnSubmitText

      Value: 確定

      Site.en-US.resx

      在這個資源文件的鍵/值配對中寫入:

      Name : btnSubmitText

      Value: Submit

      Note:這里給資源文件取名的時候,需要按照如下格式:

      [Class]. [Culture Name].resx

      比如說Site.zh-CN.resx

      關于Culture Name請參見MSDN中CultureInfo類中的Remarks部分

      Step5:在我們的Default頁面中添加一個Button控件,ID為btnSubmit

      Step6:在我們的Default頁面中添加兩個Button控件,ID為btnChinese,btnEnglish,Text為中文,English

      在btnChinese的Click事件方法中,添加代碼:

      以下為引用的內容:
      Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
      btnSubmit.Text = Resources.Site.btnSubmitText;

      在btnEnglish的Click事件方法中,添加代碼:

      以下為引用的內容:
      Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
      btnSubmit.Text = Resources.Site.btnSubmitText;

      Note:如果我們不在代碼里指定當前線程的CurrentUICulture,那么程序就會根據瀏覽器中的設置進行判斷,你可以在IE中的語言設置中進行默認設置。

      OK,我們可以運行了。

      UAT就讓大家來做吧,呵呵。不出所料,一切都如我們所預料的運行。

      By the way, 最近發的幾篇文章難度都不是很高,其實重要的是告訴大家一種可以選擇的方法,或是大家都不是很注意的一些知識點, 引導大家如果有需要繼續去發掘,MSDN里有的內容,我就簡要介紹或者直接給出鏈接,那樣就不會顯得文章龐大臃腫,讓大家集中注意力在某一些點上。

      PS:歡迎大家加我的MSN或者QQ討論.NET 2.0(主要是C#2.0跟ASP.NET2.0吧)跟.NET3.0,發現我加入的幾個QQ群都還挺少有人討論這兩個版本的內容的。還有一些朋友問我的很多問題,其實通過查找MSDN都可以找到答案跟示例,所以我的建議是,首先通過自己查找資料尋找解決方案。還有一些朋友直接向我要源碼,或者說讓我做一個MSDN示例里已經有代碼的演示Project,那我的建議是,你還是自己先去嘗試著做吧,我做好給你,你再看肯定沒有你自己做一邊效果來的好。

      分享:“您無權查看該網頁”的原因和解決方法
      1、現象 a.用localhost訪問,正常 b.用IP地址訪問,則出現403錯誤 2、分析 a.懷疑是ACL問題,設置Everyone為完全控制,問題仍無法解決 b.無意中訪問了"WebForm1.aspx",再

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程