web-dev-qa-db-ja.com

app_GlobalResourceまたはapp_LocalResourceの使用方法

ASP.NET Webアプリケーションプロジェクトでそれらを使用する方法?違いは?

どうもありがとう

36
Afshar Mohebbi

ローカルリソース:

  1. ローカルリソースは単一のWebページに固有であり、さまざまな言語でWebページのバージョンを提供するために使用されます。
  2. ローカルリソースはApp_LocalResourcesサブフォルダーに保存する必要があります。
  3. ローカルリソースは、[。language /言語と文化] .resxの形式で名前を付ける必要があります。

例:Default.aspx.resx-基本リソースファイル。これは、デフォルトまたはフォールバックのリソースファイルです。

Default.aspx.de.resx-ドイツ語などのリソースファイル.

グローバルリソース:

ASP.NETのグローバルリソースローカリゼーションの提案

  1. グローバルリソースは、アプリケーション内の任意のページまたはコードから読み取ることができます。
  2. グローバルリソースは、アプリケーションのルートにあるApp_GlobalResourcesに保存する必要があります。

    // Get the global resource string. 
    
     try
     { 
         globalresourcestring = (String)GetGlobalResourceObject("MyResource", "GlobalResourceString1"); 
     } 
     catch
     { 
         globalresourcestring = "Could not find global resource."; 
     }
    
31
Pranay Rana

これらはASP.NET MVC 5 Webアプリケーションの手順です

  1. ソリューション名を右クリックします。
  2. 追加> ASP.Netフォルダーの追加> App_LocalResources
  3. ファイルを開く必要があります。コンテンツを追加します。 (名前/値)
  4. .resxファイルの上部にあるAccess Modifierを見つけ、それをPublicに変更してファイルを保存します。
  5. 選択した.resxファイルを右クリックして、プロパティを選択します。
  6. ビルドアクションをコンテンツから埋め込みリソースに変更します。
  7. ソリューションエクスプローラーを開き、[ビュー]フォルダーを展開します。
  8. Web.configファイルを開きます。
  9. 名前空間セクションに新しい名前空間を追加します。

例: <add namespace="ProjectName.App_LocalResources" />

HTMLコードのローカルリソースファイルにアクセスするには、追加する必要があります

@using ProjectName.App_LocalResources

ページの上部へ。

次に、App_LocalResourcesのさまざまなリソースにアクセスするには、

@NameOfResxFile.NameOfValueInResxFile

これがお役に立てば幸いです。

6
ProgrammerPlus

リソースが.resxファイルに存在するという確信がある場合は、次のことを試してください。

string myValue = HttpContext.GetGlobalResourceObject("MyResourceFile","MyResource").ToString();

リソースが存在するかどうかわからない場合は、以下を使用できます。

var resultMessage = HttpContext.GetGlobalResourceObject("MyResourceFile","MyResource");

string myValue = resultMessage == null ? string.Empty : resultMessage.ToString();
1
Mehdi Souregi