Wenn Sie $
Begrenzungszeichen in den AppSetting Werten dieses mit der ersetzt werden kann Schlüsselwerte, die sie aus den AppSettings darstellen, z
<add key="PrivacyPolicyURL"
value="$domain$/Default.aspx?siteid=$siteid$&locid=$locid$&tpid=$tpid$"
/>
Verwenden der folgenden Funktion, um die Ersetzungen durchzuführen;
public static string GetAppSetting(string key)
{
string keyValue = ConfigurationManager.AppSettings[key].ToString();
foreach (System.Text.RegularExpressions.Match match in System.Text.RegularExpressions.Regex.Matches(keyValue, @"\$[\d\D]*?\$"))
{
try
{
string replaceWith = ConfigurationManager.AppSettings[match.Value.Replace("$", string.Empty)] ?? string.Empty;
keyValue = keyValue.Replace(match.Value, replaceWith);
}
catch
{
keyValue = keyValue.Replace(match.Value, string.Empty);
}
}
return keyValue;
}
So im Beispiel fügt dies die AppSettings für Domain, siteid, locid und TPID produzieren so etwas wie; www.mywebsite.com/Default.aspx?siteid=1001&locid=1001&tpid=1001
Könnten Sie bitte ein Beispiel posten? –
Ich arbeitete schon daran ... – Kobi
Oh, danke Kobi, großartiges Beispiel! :-) Jedenfalls habe ich über eine Lösung nachgedacht, die keine extra Codierung erfordert ... Aber wenn es keine Alternative gibt, wird das funktionieren, danke nochmal. –