Cómo acceder a un recurso local en un tema de una página ASP.net?
Pregunta
Tengo un archivo de recursos colocado en la carpeta App_LocalResources dentro de la carpeta para un tema en App_Themes, así: \ App_Themes \ Theme1 \ App_LocalResources \ Resources1.aspx.resx
¿Cómo puedo acceder a los recursos en este archivo desde un formulario web en mi proyecto, asumiendo la forma de la tela que se llama Resources1.aspx tener temático = "Theme1"?
Solución
Puede utilizar la expresión "Recursos" para extraer los valores del archivo de recursos, por ejemplo:
<h1><%$ Resources: H1 %></h1>
Por otra parte, y sobre todo si estás en código subyacente, utilice GetLocalResourceObject:
h1.InnerText = GetLocalResourceObject ( "H1" ).ToString ( );
EDIT: A veces me conteste demasiado rápido; no creo que los temas son localizables en ese sentido, sin embargo, hay algunas soluciones. Usted podría tener los elementos específicos del tema en el archivo de recursos y acceder a ellos en función de tema actual.
Otros consejos
Puede acceder globalresources ubicados en \ App_GlobalResources \ Generic.resx con;
<%= Resources.Generic.Cancel %>
Los recursos locales residen en una carpeta App_LocalResources que no necesariamente tienen que ser ser colocado en la carpeta raíz. Para una localresource sería;
<%$ Resources:Cancel%>
o
string labelCancel = GetLocalResourceObject("Cancel").ToString();
En cuanto a la colocación de los archivos de recursos en su tema carpetas van; Me guardo mis temas y recursos separados y programáticamente cambiar entre varios recursos en un maestro / basepage sitio o como haciendo uso de globalresources.