viewcomponent net mvc5 mvc aspx asp asp.net resources httpcontext

asp.net - mvc5 - render partial asp net core



¿Cómo accedo a la función GetGlobalResourceObject desde una clase que no es una página? (5)

Si se encuentra en el sitio, tiene acceso a HttpContext y puede usar:

HttpContext.GetGlobalResourceObject("myResourceKey")

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

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


Deberías usar

HttpContext.GetGlobalResourceObject("myResourceKey")

... porque de esa manera todavía funcionará cuando se utiliza un ResourceProvider personalizado. El generador de tipos predeterminado para los archivos de recursos utiliza explícitamente el proveedor Resx y no funcionará si implementa algo como un proveedor de bases de datos .


Lo tomé del diseñador de recursos,

ResourceManager temp = new ResourceManager("Resources.<<resource name>>", System.Reflection.Assembly.Load("App_GlobalResources"));


Respuesta: Sí, como sigue pseudo:

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

Ejemplo:

lblTitle.Text = Resources.MySettings.WebsiteTitle;

Resources es un espacio de nombres generado automáticamente por Visual Studio que expone todas las clases de recursos globales y accesorios en el proyecto.


En algunas granjas, deberá ajustar la llamada a

HttpContext.GetGlobalResourceObject("myResourceKey")

dentro de un bloque try / catch para superar el error "No se pudo encontrar ningún recurso apropiado para la cultura especificada o la cultura neutra".