2009-08-06 6 views
0

ASP.NETアプリケーションは、多くのカルチャにローカライズされています(by using resources)。私が必要とするのは、これらすべてのカルチャを(実行時に)見つけることです。たとえば、DropDownListを埋めてください。ASP.NETアプリケーションで使用可能なすべてのカルチャ名を取得する方法

私はWindowsアプリケーションでそれを行うコードを持っています - buidsは、衛星アセンブリを探すことによって利用可能な文化のコレクションです。

しかし、Webアプリケーションはどうですか?衛星アセンブリを見つけることは可能でしょうか?それとも、これは別の方法で行うことができますか?

提案がありますか?このような

答えて

0

私はアイデアを持っています:すべてを通して反復する .resxファイルをアプリケーションの仮想ディレクトリに保存し、この方法で異なるカルチャ名を収集します。私はまだこれを試していないが、私はこれが私に期待される結果を与えるはずだと思う。

3

何かがあなたのために働く必要があります

おかげで...

var ass = Assembly.GetExecutingAssembly(); 

foreach(var c in CultureInfo.GetCultures( 
    CultureTypes.SpecificCultures | 
    CultureTypes.NeutralCultures)) 
{ 
    try 
    { 
    var sat = ass.GetSatelliteAssembly(c); 
    // Add to dropdown 
    } 
    catch(FileNotFoundException) 
    { 
    } 
} 
+0

このコードは、Windowsベースのアプリケーションではうまく動作しますが、ASP.NETではうまく動作しません。わからないけど、GetSatelliteAssembly()は \ .dllディレクトリからサテライトアセンブリをロードしようとしていると思います。また、ASP.NETアプリケーションは異なる場所を使用します。 –

+0

興味深い変数名 –

+0

あなたの答えは+1です。しかし、それは私が探しているものではありません。 –

0

私はあなたの問題は文化でDropDownListコントロール埋めることだと思います。

このため、サポートされているすべてのカルチャが記載されている1つのデータファイル/データテーブルを管理し、それをドロップダウンリストにバインドする必要があります。

さらにお気軽にお問い合わせください。

関連する問題