Obtenir la valeur à partir du web.config applicationSettings en ASP.NET balisage

Je suis peut-être complètement à côté de la piste, donc je vais juste demander ici si quelqu'un peut m'aider.

Ce que je veux faire, c'est d'insérer une valeur à partir de mon site web.config, stockée dans un applicationSettings région, dans mon aspx balisage. Plus précisément, je veux reade une URL à partir de la config. C'est le configSection installation que j'ai utiliser

<configSections>  
<sectionGroup name="applicationSettings"  type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=123456">
  <section name="MyApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=12345" requirePermission="false" />
</configSections>

Plus tard dans ce fichier sont les paramètres réels de la sorte:

<applicationSettings>
<MyApp.Properties.Settings>
  <setting name="ImagesUrl" serializeAs="String">
    <value>http://resources/images/</value>
  </setting>

Maintenant, je veux de référence de la valeur ci-dessus dans les balises comme ceci:

 <asp:Image ID="Image1" runat="server" ImageUrl="<%$AppSettings:ImagesUrl%>/Image1.jpg

Je sais qu'il y a une expression disponible <%$ AppSettings: ImagesUrl %>, mais je ne suis pas en utilisant la appsettings partie du web.config plutôt le configSection.

EDIT:
Je crois que je ne peut faire qu'avec ExpressionBuilder, parce que je dois concaténer la chaîne avec la personne nom de l'image. J'ai changé l'exemple ci-dessus pour refléter cela.

J'aime Bert Smith Solution de Code ci-dessous pour accéder à la section de configuration, seulement j'ai besoin de le mettre dans un générateur d'expression.
Je suis coincé à la substitution de la GetCodeExpression méthode de l'endroit où je voudrais appeler le Gestionnaire de Configuration, mais je ne comprends pas comment construire une expression paramètres.

public class SettingsExpressionBuilder: ExpressionBuilder
{
    public override CodeExpression GetCodeExpression(BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context)
    {
        return ??
    }

MODIFIER

Le résultat ressemble à ceci, et fonctionne pour tous les types de fichiers, et pas seulement des images:

<asp:ScriptReference Path='<%$Code:GetAppSetting("ResourcesUrl","JS/jquery/jquery.jqplot.js")%>'

et j'ai simplement utilisé l'exemple de Microsoft afin de retourner n'importe quel type de code à partir de l'expression builder:

return new CodeSnippetExpression(à l'entrée.Expression);

Et GetAppSetting est une méthode dans ma Page personnalisée de classe.

"Je suis peut-être complètement à côté de la piste en maintenant".. je dirais que si vous stockez des liens à l'image des ressources dans un site web.fichier de config, alors oui vous êtes bien sur la bonne voie.
Après réflexion, j'ai être la lecture de ce mal. Êtes-vous juste le stockage de la partie au début de la référence externe ou de la totalité de l'emplacement de l'image? Ce qui conduit à la question suivante: est-ce réellement le soutien de multiples environnements (test, le stade, la prod)?
Oui juste la première partie de l'URL, donc je peux changer que dans des environnements différents

OriginalL'auteur Niels Ziegler | 2011-05-20