ページではないクラスから GetGlobalResourceObject 関数にアクセスするにはどうすればよいですか?
-
12-09-2019 - |
質問
asp.net プロジェクトにクラスがあります。サイト内のどこからでも GetGlobalResourceObject (そのページが公開する) にアクセスしたいのですが、可能ですか?
言い換えれば、ページではないクラスからグローバルリソースにアクセスしたいのですが、方法は関係ありません。
解決
回答: はい、次の擬似のように:
Resources.<The name of the resources file name>.<your resource key>;
例:
lblTitle.Text = Resources.MySettings.WebsiteTitle;
Resources
は、Visual Studioの - オートは、プロジェクト内のすべてのグローバルリソースのクラスや小道具を公開する名前空間を生成します。
他のヒント
使用する必要があります
HttpContext.GetGlobalResourceObject("myResourceKey")
...そうすることで、カスタム ResourceProvider を使用する場合でも機能するためです。リソース ファイルのデフォルトの型ジェネレーターは明示的に Resx プロバイダーを使用するため、次のようなものを実装すると機能しません。 データベースプロバイダー.
あなたがサイト内にある場合は、のHttpContextにアクセスして使用することができます:
HttpContext.GetGlobalResourceObject("myResourceKey")
は、
への呼び出しをラップする必要がありますいくつかの農場でHttpContext.GetGlobalResourceObject("myResourceKey")
try / catchブロック内のエラー「指定したカルチャまたはニュートラルカルチャに適切なすべてのリソースが見つかりませんでした」の上にそれを取得します。
私はちょっとリソースデザイナーからこれを取った、
ResourceManager temp =
new ResourceManager("Resources.<<resource name>>",
System.Reflection.Assembly.Load("App_GlobalResources"));
所属していません StackOverflow