Como Acessar um Recurso Local de um Tema a partir de uma ASP.net Página?
Pergunta
Eu tenho um arquivo de recurso colocado na pasta App_LocalResources dentro a pasta para um tema em App_Themes assim:\App_Themes heme1\App_LocalResources esources1.aspx.resx
Como posso acessar os recursos deste ficheiro a partir de um formulário da web no meu projeto, assumindo o formulário da web é chamado de Resources1.aspx ter Tema="Theme1"?
Solução
Você pode usar os "Recursos" expressão para extrair os valores do arquivo de recursos, por exemplo:
<h1><%$ Resources: H1 %></h1>
Em alternativa, e especialmente se você está no code-behind, use GetLocalResourceObject:
h1.InnerText = GetLocalResourceObject ( "H1" ).ToString ( );
EDITAR:Às vezes, eu respondo rápido demais;eu não acho que os temas são localizáveis em que sentido, no entanto, existem algumas soluções alternativas.Você poderia ter um tema específico de itens no arquivo de recursos e o acesso a eles, dependendo do tema atual.
Outras dicas
Você pode acessar o GlobalResources localizado em app_globalResources generic.resx com;
<%= Resources.Generic.Cancel %>
Os recursos locais residem em uma pasta app_localResources, que não precisa necessariamente ser colocada na pasta raiz. Para uma fonte local, seria;
<%$ Resources:Cancel%>
ou
string labelCancel = GetLocalResourceObject("Cancel").ToString();
No que diz respeito à colocação de arquivos de recursos em suas pastas de tema; Eu manteria meus temas e recursos separados e alternava programaticamente entre vários recursos em um site mestre/baseepage ou outros, usando o GlobalResources.