¿Cómo accedo a la función GetGlobalResourceObject de una clase que no es una página?
-
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.
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"));