Ich könnte jetzt völlig verrückt sein, also werde ich das hier fragen, damit mir jemand helfen kann.
Was ich tun möchte, ist, einen Wert aus meiner web.config, die in einem applicationSettings-Bereich gespeichert ist, in mein aspx-Markup einzufügen. Insbesondere möchte ich eine URL von Config reagen. Dies ist die configSection-Einrichtung, die ich verwende
%Vor%Später in dieser Datei sind die tatsächlichen Einstellungen wie folgt:
%Vor%Ich möchte jetzt auf den obigen Wert im Markup wie folgt verweisen:
%Vor%Ich weiß, dass ein Ausdruck verfügbar ist & lt;% $ AppSettings: ImagesUrl% & gt ;, aber ich verwende nicht den Appsettings-Teil von web.config, sondern die configSection.
BEARBEITEN: Ich glaube, ich kann es nur mit ExpressionBuilder tun, weil ich die Zeichenfolge mit dem einzelnen Bildnamen verketten muss. Ich habe das obige Beispiel geändert, um das widerzuspiegeln.
Ich mag Bert Smith Code Solution unten für den Zugriff auf den Abschnitt config, nur muss ich es in einen Ausdrucksersteller einfügen. Ich bin bei der Übersteuerung der GetCodeExpression-Methode, von wo ich den Configuration Manager aufrufen würde stecken, aber ich verstehe nicht, wie man einen Ausdruck die Parameter erstellen.
%Vor% BEARBEITEN
Das Ergebnis sieht so aus und funktioniert für alle Arten von Dateien, nicht nur für Bilder:
und ich habe einfach das Beispiel von Microsoft verwendet, um jede Art von Code aus dem Ausdrucksersteller zurückzugeben:
gib neuen CodeSnippetExpression (entry.Expression);
zurückUnd GetAppSetting ist eine Methode in meiner benutzerdefinierten Page-Klasse.
Normalerweise würden Sie eine benutzerdefinierte Einstellungsklasse erstellen, um diese Werte auszulesen, wie dies artical beschreibt . Persönlich würde ich nur die appSettings wie oben vorgeschlagen verwenden, da dies bestehende Funktionalität ist und für das, was Sie tun würden, auf der Oberfläche angemessen erscheinen würde.
Wenn Sie jedoch Ihre Umstände nicht kennen, könnte Ihr Versuch ohne die benutzerdefinierten Einstellungen wie folgt gelöst werden:
Im Code dahinter habe ich eine geschützte Funktion zum Abrufen der Einstellung erstellt
%Vor%Dann rufe ich im aspx-Markup diese Funktion
auf %Vor%Hoffe, das hilft.
Nachverfolgung:
Die CodeExpression wird etwa so aussehen:
%Vor% In meinem Test habe ich eine Klasse namens CustomSettingsExpressionBuilder
erstellt und sie zum Ordner App_Code hinzugefügt. Die Konfiguration für den benutzerdefinierten Express wurde der web.config hinzugefügt und von aspx wie folgt aufgerufen:
Ich bin mir nicht sicher über das ASP.NET-Bit davon, aber wenn das normaler Code wäre, würdest du MyApp.Properties.Settings.Default.ImagesUrl
machen, also probiere
Es wäre definitiv einfacher, dies in <appSettings>
zu speichern.
Tags und Links web-config asp.net markup expressionbuilder configsection