Si vous utilisez $
délimiteurs dans les AppSetting valeurs ceux-ci peuvent être remplacées par le les valeurs clés qu'ils représentent à partir des AppSettings
<add key="PrivacyPolicyURL"
value="$domain$/Default.aspx?siteid=$siteid$&locid=$locid$&tpid=$tpid$"
/>
en utilisant la fonction suivante pour effectuer les substitutions;
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;
}
Ainsi, dans l'exemple ce insère les AppSettings pour le domaine, siteid, Locid et TPID pour produire quelque chose comme; www.mywebsite.com/Default.aspx?siteid=1001&locid=1001&tpid=1001
Pourriez-vous s'il vous plaît signaler un exemple? –
Je travaillais déjà sur ça ... – Kobi
Oh, merci Kobi, grand exemple! :-) En tout cas je pensais à toute solution qui ne nécessite aucun codage supplémentaire ... Mais s'il n'y a pas d'alternative, ça marchera, merci encore. –