¿Cómo accedo a la función GetGlobalResourceObject de una clase que no es una página?

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

  •  12-09-2019
  •  | 
  •  

Pregunta

Tengo una clase en mi proj asp.net, me gustaría obtener acceso GetGlobalResourceObject (que expone la página), desde cualquier parte del sitio, es posible?

En otras palabras que quiero acceder a los recursos globales de una clase que no es una página que no me importa cómo.

¿Fue útil?

Solución

Respuesta: Sí, de la siguiente manera seudo:

Resources.<The name of the resources file name>.<your resource key>;

Ejemplo:

lblTitle.Text = Resources.MySettings.WebsiteTitle;

Resources es un auto-Visual Studio genera espacio de nombres que expone todas las clases de recursos globales y apoyos en el proyecto.

Otros consejos

Debe utilizar

HttpContext.GetGlobalResourceObject("myResourceKey")

... porque de esa manera se seguirá funcionando cuando se utiliza un resourceProvider personalizado. El tipo de generador predeterminado para los archivos de recursos explícitamente utiliza el proveedor Resx y no funcionará si se implementa algo así como un proveedor de base de datos .

Si usted está en el sitio que tiene acceso a HttpContext y puede usar:

HttpContext.GetGlobalResourceObject("myResourceKey")

En algunas granjas que necesita para envolver la llamada a

HttpContext.GetGlobalResourceObject("myResourceKey")

dentro de un bloque try / catch para acabar de una vez el "No se pudo encontrar recursos adecuados para la cultura especificada o la cultura neutra" de error.

La clase I tomó esto desde el diseñador de recursos,

ResourceManager temp = 
  new ResourceManager("Resources.<<resource name>>", 
    System.Reflection.Assembly.Load("App_GlobalResources"));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top