web-dev-qa-db-ja.com

ASP.NETグローバリゼーションでインバリアントカルチャを構成する方法

ASP.NETアプリケーションのインバリアントカルチャとしてCurrentCultureを修正する必要があります。これどうやってするの?

<configuration>
   <system.web>
      <globalization culture="???" />
   ...
25
Mike Chaliy

CultureInfoクラスのドキュメント によると、空の文字列はInvariantCultureを指定します。

編集(.NET 3.5 sp1でテスト済み)
デフォルトでは、web.configでCultureとUICultureが ""に設定されています。ドキュメントでは「en」は「en-US」ではなく不変のカルチャーであると記載されていますが、.Netは独自の処理を実行し、実行時に「en-US」に設定すると思います。

@Pageディレクティブが妨害している可能性があります。ページデザイナーの「ローカルリソースの生成」ツールを使用した場合、ページディレクティブにculture = "auto" uiculture = "auto"が自動的に追加されます、web.configをオーバーライドします。それらを削除しただけで、誰かが後でそのツールを使用した場合、whammoは戻ってきて自動に設定され、アプリケーションにバグを引き起こします。それらを ""に設定しようとすると、エラーが発生します。

これにweb.configとpageディレクティブの両方を設定してみて、最高のものを望んでいますか?

culture="en-US" uiCulture="en"
26
Greg

以下をweb.configファイルに追加してください:

<system.web>
    <globalization culture="en-US" uiCulture="en-US" />
</system.web>

または、このステートメントをページに追加できます。

<%@ Page uiCulture="en-US" culture="en-US" %>

お役に立てれば。

36
Shravan