web-dev-qa-db-fra.com

Comment utiliser app_GlobalResource ou app_LocalResource?

Comment les utiliser dans un projet d'application Web ASP.NET? Toute différence?

merci beaucoup

36
Afshar Mohebbi

Ressources locales:

  1. La ressource locale est spécifique à une seule page Web et utilisée pour fournir des versions d'une page Web dans différentes langues.
  2. Les ressources locales doivent être stockées dans le sous-dossier App_LocalResources.
  3. Les ressources locales doivent être nommées au format [.language/language and culture] .resx.

Ex: Default.aspx.resx - Fichier de ressources de base. Il s'agit du fichier de ressources par défaut ou de secours.

Default.aspx.de.resx- Un fichier de ressources pour l'allemand, etc.

Ressources globales:

Suggestion de localisation des ressources globales pour ASP.NET

  1. La ressource globale peut être lue à partir de n'importe quelle page ou code qui se trouve dans l'application.
  2. La ressource globale doit être stockée dans App_GlobalResources à la racine de l'application.

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

Ce sont les étapes de l'application Web ASP.NET MVC 5

  1. Cliquez avec le bouton droit sur le nom de la solution.
  2. Ajouter> Ajouter un dossier ASP.Net> App_LocalResources
  3. Le fichier devrait s'ouvrir. Ajouter du contenu. (Nom/Valeur)
  4. Recherchez Access Modifier en haut du fichier .resx et modifiez-le en public et enregistrez le fichier.
  5. Cliquez avec le bouton droit sur le fichier .resx de votre choix et sélectionnez les propriétés.
  6. Modifiez l'action de génération du contenu en ressource intégrée.
  7. Ouvrez l'Explorateur de solutions et développez le dossier Vues.
  8. Ouvrez le fichier web.config.
  9. Ajoutez un nouvel espace de noms à la section des espaces de noms.

ex. <add namespace="ProjectName.App_LocalResources" />

Pour accéder au fichier de ressources local dans votre code html, vous devez ajouter

@using ProjectName.App_LocalResources

en haut de la page.

Vous pouvez ensuite accéder aux différentes ressources dans App_LocalResources en utilisant le

@NameOfResxFile.NameOfValueInResxFile

J'espère que ça aide.

6
ProgrammerPlus

Si vous êtes si sûr du fait que votre ressource existe sur votre fichier .resx, vous pouvez essayer:

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

Si vous n'êtes pas sûr que votre ressource existe ou non, vous pouvez utiliser:

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

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