2009-07-10 14 views

Respuesta

20

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-Visual Studio automático genera espacio de nombres que expone todas las clases de recursos globales y apoyos en el proyecto .

+0

Hola, ¿Puedo usar (cadena) this.GetGlobalResourceObject ("Recursos", "COL_Description") como , como a continuación en la etiqueta o el botón de texto Singh

1

Si se encuentra en el sitio que tiene acceso a HttpContext y puede utilizar:

HttpContext.GetGlobalResourceObject("myResourceKey") 
+0

Creo que Recursos es mejor ya que está fuertemente tipado, en lugar de esa definición de objeto. gracias de todos modos – Shimmy

+0

También no hay necesidad de utilizar cadenas codificadas. – Shimmy

+0

¿Cómo se pueden evitar las cadenas codificadas? – MrFox

14

que puedes usar

HttpContext.GetGlobalResourceObject("myResourceKey") 

... porque de esa manera se seguirá funcionando cuando se utiliza una costumbre ResourceProvider. El generador de tipos predeterminado para los archivos de recursos utiliza explícitamente el proveedor Resx y no funcionará si implementa algo como un database provider.

+0

Pensé que HttpContext.Current funcionaría, pero no –

+0

Preferiría "httpcontext" en lugar del espacio de nombres generado por el estudio visual, porque puedo pasar un parámetro cultural y elegir qué idioma devolver. Al usar la función de espacio de nombres "directo", siempre obtengo el inglés, necesito cambiar la cultura actual del hilo antes de llamarlo si quiero la buena cultura. – foxontherock

+0

Hola, ¿Puedo usar (cadena) this.GetGlobalResourceObject ("Resources", "COL_Description") como en la siguiente etiqueta o texto de botón Singh

-3

yo un poco tomé esto desde el diseñador de recursos,

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

El código en el diseñador se utiliza para iniciar el miembro estático, por lo que el conjunto de recursos se carga una vez por instancia, luego el usuario accede a las herramientas proporcionadas por MSFT para acceder el miembro iniciado. El uso de su línea recuperará el recurso una y otra vez del ensamblaje, lo cual debe evitarse. De todos modos, la línea que publica carga el ResourceManager y no obtiene la propiedad deseada, que es lo que quiere el OP. – Shimmy

1

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 ningún recurso apropiado para la cultura especificada o el cultivo neutro" error.

+0

Oye, esto funciona bien, uso el siguiente código: 'var resource = HttpContext.GetGlobalResourceObject (" ResourceBaseName "," ResourceKey "); cadena mensaje = recurso! = Nulo? resource.ToString(): string.Empty; ' – DanielV

Cuestiones relacionadas