ページではないクラスから GetGlobalResourceObject 関数にアクセスするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1107906

  •  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"));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top