以程式設計方式在 ASP.NET 應用程式中設定目前的文化特性
本文說明如何在 ASP.NET 應用程式中變更目前的文化特性和目前的UI文化特性。
原始產品版本: ASP.NET
原始 KB 編號: 306162
摘要
在 .NET Framework 中,命名空間中的 CultureInfo
System.Globalization
類別會提供特定文化特性的資訊,例如相關聯的語言、國家/地區、行事曆和文化慣例。 屬性 CurrentCulture
代表目前線程所使用的文化特性。 屬性CurrentUICulture
代表 Resource Manager 在運行時間用來查閱特定文化特性資源的目前文化特性。 在 ASP.NET 應用程式中設定文化特性資訊的方式有三種:應用層級、頁面層級和線程層級。
應用層級
在web.config檔案中指定應用層級文化特 性 資訊:
啟動記事本 (或任何其他文本編輯器) 。
在記事本中貼上下列程式代碼:
<configuration> <system.web> <globalization culture="ja-JP" uiCulture="zh-HK" /> </system.web> </configuration>
將文字檔儲存為 網頁 伺服器根資料夾中的web.config。 例如,
C:\Inetpub\wwwroot\Web.config
。啟動另一個記事本實例。 在記事本中貼上下列程式代碼:
<%@Page Language="C#" %> <% @Import Namespace="System.Globalization" %> <html> <head> </head> <script runat=server> public void Page_Load() { Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName); } </script> <body> </body> </html>
將此文字檔儲存為網頁伺服器根資料夾中的 Application.aspx 。
啟動 Internet Explorer,然後開 啟 Application.aspx。
頁面層級
頁面層級文化特性特定資訊設定會覆寫應用層級文化特性特定的信息設定。 使用指示字指定頁面層級文化特性 <@Page>
資訊:
請遵循應用 層級 一節的步驟 1、2 和 3 來建立 web.config 檔案。
啟動另一個記事本實例。 在記事本中貼上下列程式代碼:
<%@Page Culture="fr-FR" Language="C#" %> <% @Import Namespace="System.Globalization" %> <html> <head> </head> <script runat=server> public void Page_Load() { Response.Write ("Current Culture is " + CultureInfo.CurrentCulture.EnglishName); } </script> <body> </body> </html>
將此文字檔儲存為網頁伺服器根資料夾中的 Page.aspx 。
啟動 Internet Explorer,然後開 啟 [Page.aspx]。
注意事項
[目前文化特性] 設定為法文,雖然日文指定為web.config檔案中的目前文化特 性 。
線程層級
線程層級文化特性特定資訊設定會覆寫頁面層級文化特性特定資訊設定。 藉由設定目前線程的屬性或 屬性,CurrentCulture
CurrentUICulture
指定線程層級文化特性特定資訊:
請遵循應用 層級 一節的步驟 1、2 和 3 來建立 web.config 檔案。
啟動另一個記事本實例。 在記事本中貼上下列程式代碼:
<% @Page Culture="fr-FR" Language="C#" %> <% @Import Namespace="System.Globalization" %> <% @Import Namespace="System.Threading" %> <html> <head> </head> <script runat=server> public void Page_Load() { // Display the Current Culture Response.Write("Current Culture is " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>"); // Modify the Current Culture Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE"); Response.Write("Changing Culture to " + Thread.CurrentThread.CurrentCulture.EnglishName + "<br>"); } </script> <body> </body> </html>
將此文字檔儲存為網頁伺服器根資料夾中的 Thread.aspx 。
啟動 Internet Explorer,然後開 啟 [Thread.aspx]。
注意事項
目前的文化特性設定是德文,雖然法文是在頁面層級指定,而日文則是在 web.config 檔案中指定。
參考資料
如需詳細資訊,請參閱 CultureInfo 類別。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應