Pregunta ¿Cómo usar app_GlobalResource o app_LocalResource?


¿Cómo usarlos en un proyecto de aplicación web ASP.NET? ¿Alguna diferencia?

muchas gracias


32
2017-07-07 10:50


origen


Respuestas:


Recursos locales: 

  1. El recurso local es específico de una sola página web y se utiliza para proporcionar versiones de una página web en diferentes idiomas.
  2. Los recursos locales deben almacenarse en la subcarpeta App_LocalResources.
  3. Los recursos locales deben nombrarse en formato [.lenguaje / idioma y cultura] .resx.

Ej: Default.aspx.resx- Archivo de recursos base. Este es el archivo de recursos predeterminado o alternativo.

Default.aspx.de.resx- Un archivo de recursos para alemán, etc.

Recursos globales: 

Sugerencia de localización de recursos globales para ASP.NET 

  1. El recurso global se puede leer desde cualquier página o código que esté en la aplicación.
  2. El recurso global debe almacenarse en App_GlobalResources en la raíz de la aplicación.

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

30
2017-07-07 10:56



Estos son los pasos para la aplicación web ASP.NET MVC 5

  1. Haga clic derecho en el nombre de la solución.
  2. Agregar> Agregar carpeta ASP.Net> App_LocalResources
  3. El archivo debería abrirse Agregar contenido. (Nombre / Valor)
  4. Ubique Access Modifier en la parte superior del archivo .resx y cámbielo a Public y guarde el archivo.
  5. Haga clic con el botón derecho en el archivo .resx de su elección y seleccione propiedades.
  6. Cambiar la acción de compilación desde el contenido al recurso integrado.
  7. Abra el explorador de soluciones y expanda la carpeta Vistas.
  8. Abra el archivo web.config.
  9. Agregue un nuevo espacio de nombres a la sección de espacios de nombres.

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

Para acceder al archivo de recursos locales en su código html debe añadir

@using ProjectName.App_LocalResources

Para la parte superior de la página.

A continuación, puede acceder a los diferentes recursos en App_LocalResources usando el

@NameOfResxFile.NameOfValueInResxFile

Espero que esto ayude.


5
2018-01-19 06:47



Si está tan seguro de que su recurso existe en su archivo .resx, puede intentar:

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

Si no está seguro de si su recurso existe o no, puede usar:

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

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

1
2018-01-20 11:48