Wie kann ich ein kaufmännisches Und für einen Wert in einer ASP.net/C# App-Konfigurationsdatei hinzufügen?

209

Ich habe ein C # -Programm mit Werten in einer Konfigurationsdatei. Ich möchte kaufmännisches Und für einen URL-Wert wie ...

<appSettings>
  <add key="myurl" value="http://www.myurl.com?&cid=&sid="/>
</appSettings>

Beim Erstellen meiner Website treten jedoch Fehler auf. Das kaufmännische Und ist nicht zulässig. Ich habe verschiedene Formen versucht, dem kaufmännischen Und ohne Erfolg zu entkommen. Kennt jemand die richtige Form dafür? Alle Vorschläge sind willkommen.

Rob Segal
quelle

Antworten:

420

Verwenden Sie " &amp;" anstelle von "&".

Eric Rosenberger
quelle
2
Ich dachte ernsthaft, ich hätte es versucht. Ich glaube, ich habe das nachfolgende ";" Am Ende. Wie auch immer, es funktioniert so, danke für das Feedback, Eric.
Rob Segal
6
Dies funktioniert, aber ich muss einen String einfügen. Ersetzen ("& amp;", "&"), wo immer ich auf diese Einstellung zugreife, sonst erkennt der Browser sie nicht richtig, wenn Sie auf den Link klicken: /
DLeh
Nun ... das ist ziemlich enttäuschend. Ich meine, dass der ConfigurationManager diese & xyl; Zeichen, wenn sie aus der Konfigurationsdatei abgerufen werden.
Efrain
@Efrain nicht sicher, wovon DLeh genau spricht, aber Unescape funktioniert definitiv gut. Ich habe dies gerade mit einem Standard- appSettingsund einem benutzerdefinierten NameValueCollectionAbschnitt getestet : Das kaufmännische Und wird auf beiden nicht richtig entfernt.
Julealgon
@DLeh Wenn Sie mit einem ViewBag in einer .cshtml-Datei arbeiten, müssen Sie Html.RawIhre .cshtml-Datei aufrufen , um zu verhindern, dass sie vom Framework maskiert wird .
user700390
25

Hast du das versucht?

<appSettings>  
  <add key="myurl" value="http://www.myurl.com?&amp;cid=&amp;sid="/>
<appSettings>
BenAlabaster
quelle
0

Obwohl die hier akzeptierte Antwort technisch korrekt ist, scheint es unter den Benutzern aufgrund der Kommentare einige Verwirrung zu geben. Wenn Sie mit einem ViewBag in einer CSHTML-Datei arbeiten, müssen Sie diese verwenden. @Html.RawAndernfalls werden Ihre Daten, nachdem sie vom ConfigurationManager entfernt wurden, erneut maskiert. Verwenden Sie Html.Raw()diese Option , um dies zu verhindern.

user700390
quelle