Come posso aggiungere una e commerciale per un valore in un valore del file di configurazione dell'app ASP.net/C#


209

Ho un programma C # con valori in un file di configurazione. Quello che voglio è memorizzare e commerciali per un valore url come ...

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

Ma ricevo errori durante la creazione del mio sito. La e commerciale non è consentita. Ho provato varie forme di fuga dalle e commerciali senza alcun risultato. Qualcuno sa della forma corretta per farlo? Tutti i suggerimenti sono benvenuti

Risposte:


420

Usa " &amp;" invece di "&".


2
Pensavo seriamente di aver provato questo. Penso di aver perso il finale ";" alla fine. Comunque funziona così grazie per il feedback Eric.
Rob Segal,

6
Funziona, ma devo mettere una stringa. Sostituisci ("& amp;", "&") ovunque acceda a questa impostazione, altrimenti il ​​browser non la rileverà correttamente quando clicchi sul link: /
DLeh

Beh ... è piuttosto deludente. Voglio dire, il ConfigurationManager non elimina automaticamente questi & xyl; caratteri quando li ottiene dal file di configurazione.
Efrain,

@Sferma non sono sicuro di cosa stia parlando esattamente DLeh, ma Unescape funziona sicuramente bene. Ho appena testato questo con appSettingsuna NameValueCollectionsezione standard e personalizzata : la e commerciale non è salvata correttamente su entrambi.
julealgon

@DLeh Se si sta lavorando con un ViewBag in un file .cshtml, è necessario chiamare Html.Rawil proprio file .cshtml per evitare che il framework venga salvato.
user700390,

25

Hai provato questo?

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


0

Sebbene la risposta accettata qui sia tecnicamente corretta, sembra esserci una certa confusione tra gli utenti in base ai commenti. Quando si lavora con un ViewBag in un file .cshtml, è necessario utilizzare @Html.Rawaltrimenti i dati, dopo essere stati eliminati dal ConfigurationManager, verranno nuovamente sottoposti a escape. Utilizzare Html.Raw()per evitare che ciò accada.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.