2011-06-23 22 views
6

Me gustaría acceder a un archivo de recursos desde la página ASP.NET. Tengo una carpeta llamada "Recursos" que contiene el archivo "WebResources.resx" en el mismo nivel que la página. El nombre de la clase pública en WebResources.Designer.cs generado también es "WebResources" El nombre de mi página es "formgenerator.aspx". El acceso desde el código subyacente funciona perfectamente. Puedo tener acceso de 2 maneras:¿Cómo acceder a un Resource.resx desde la página ASP.NET?

ResourceManager rm = new ResourceManager(typeof(WebResources)); 
string val = rm.GetString("Key"); 

y

string val = WebResources.Key; 

Pero, ¿cómo puedo acceder a la página directamente, si no me gusta cambiar el nombre del archivo de recursos-? He intentado usar la carpeta App_LocalResources - sin acceso. Solo si el archivo de recursos se nombra como la página funciona. ¿Cómo es la sintaxis para acceder a un recurso? El código a continuación no funciona. Debe/¿Puedo importar un espacio de nombre?

<asp:Label Text="<%$Resources: WebResources, Key%>" runat="server" /> 

cordial saludo de antemano

Respuesta

1

Es posible que desee tomar mira ASP.NET Web Page Resources Overview. Los recursos locales son específicos de una página aspx concreta y utilizan una convención de nomenclatura diferente a los recursos de la aplicación global. Es más probable que la etiqueta de recursos que está utilizando si usa recursos globales.

+0

Lo he leído pero no puedo usar App_Global- o App_LocalResources. Si cambio el nombre del archivo resx al igual que el aspx funciona en la web pero no en el código subyacente, la clase generada recibe el nombre de página, pero el punto se reemplaza por el guión bajo. (página_aspx). Si nada ayuda, todos los controles obtendrán una ID y estableceré los valores en onLoad(). –

+0

¿Está diciendo que no puede acceder a los recursos en el código subyacente cuando se agregan a App_GlobalResources? Por lo general, si utiliza Visual Studio para agregar la clase a App_GlobalResources, obtendrá el siguiente código generado: 'namespace Resourecs; clase interna MyResources {/ * .. algunas cosas y propiedades de resouce * /} '. Puede acceder a ellos utilizando 'Resources.MyResources.Key'. MyResources sería el nombre del archivo de recursos. –

+0

No me gusta usar App_GlobalResources porque muchos desarrolladores desarrollan algunos módulos para nuestra aplicación web. Se instalarán por separado. Si es posible sin interacción con otros módulos o la aplicación web en sí. Esperé, podría desplegar una sola carpeta y esto es todo. –

Cuestiones relacionadas