Comment accéder à une ressource locale dans un thème à partir d'une page ASP.NET?
Question
J'ai un fichier de ressources placé dans le dossier App_LocalResources à l'intérieur Le dossier d'un thème dans App_Themes comme SO: App_Themes Theme1 App_Localresources Resources1.aspx.resx
Comment puis-je accéder aux ressources de ce fichier à partir d'un formulaire Web dans mon projet, en supposant que le formulaire Web s'appelle Resources1.aspx ayant thème = "thème1"?
La solution
Vous pouvez utiliser l'expression "Ressources" pour extraire les valeurs du fichier de ressources, par exemple:
<h1><%$ Resources: H1 %></h1>
Alternativement, et surtout si vous êtes dans le code de code, utilisez GetLocalResourceObject:
h1.InnerText = GetLocalResourceObject ( "H1" ).ToString ( );
Edit: Parfois, je réponds trop vite; Je ne pense pas que les thèmes soient localisables dans ce sens, mais il y a des solutions de contournement. Vous pouvez avoir des éléments spécifiques au thème dans le fichier de ressources et y accéder en fonction du thème actuel.
Autres conseils
Vous pouvez accéder à GlobalResources situé dans app_globalresources generic.resx avec;
<%= Resources.Generic.Cancel %>
Les ressources locales résident dans un dossier App_LocalResources qui ne doit pas nécessairement être placé dans le dossier racine. Pour un Resource local, ce serait;
<%$ Resources:Cancel%>
ou
string labelCancel = GetLocalResourceObject("Cancel").ToString();
En ce qui concerne la mise en place de fichiers de ressources dans vos dossiers de thème; Je garderais mes thèmes et mes ressources séparés et basculerais par programme entre les différentes ressources dans un site maître / base de base ou en utilisant GlobalResources.