ASP.net/C# app config dosya değerindeki bir değer için nasıl ve işareti ekleyebilirim


209

Bir yapılandırma dosyasında değerleri olan bir C # programım var. Ne istiyorum gibi bir url değeri ve işaretleri depolamak için ...

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

Ancak sitemi oluştururken hatalar alıyorum. Ve işaretine izin verilmez. Ve işaretleri boşuna kaçmak için çeşitli formları denedim. Bunu yapmak için doğru formu bilen var mı? Tüm önerilerinizi bekliyoruz.

Yanıtlar:


420

&amp;"&" Yerine " " kullanın.


2
Bunu denediğimi cidden düşündüm. Bence izleyen ";" sonunda. Neyse işe yarıyor Eric geri bildirim için teşekkürler.
Rob Segal

6
Bu eserler, ama String.Replace koymak zorunda ( "& amp;", "&") Ben bu ayarı, yoksa bağlantıyı tıkladığınızda tarayıcı düzgün algılamaz erişmek whereever: /
DLeh

Şey ... bu oldukça hayal kırıklığı yaratıyor. Yani, ConfigurationManager otomatik olarak bu & xyl; onları yapılandırma dosyasından alırken.
Efrain

@ DLeh'in tam olarak neden bahsettiğinden emin değilsiniz, ancak unescape kesinlikle iyi çalışıyor. Bunu standart appSettingsve özel bir NameValueCollectionbölümle test ettim: ve işareti her ikisinde de düzgün bir şekilde kaçtı.
julealgon

@DLeh .cshtml dosyasında bir ViewBag ile çalışıyorsanız Html.Raw, çerçeveden kaçmasını önlemek için .cshtml dosyanızı çağırmanız gerekir .
user700390

25

Bunu denedin mi?

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


0

Burada kabul edilen cevap teknik olarak doğru olmasına rağmen, kullanıcılar arasında yorumlara dayanarak bazı karışıklıklar var gibi görünüyor. Bir .cshtml dosyasında bir ViewBag ile çalışırken @Html.Raw, ConfigurationManager tarafından çıkışından sonra verilerinizi tekrar kullanmanız gerekir. Bunun Html.Raw()olmasını önlemek için kullanın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.