How can I add an ampersand for a value in a ASP.net/C# app config file value

The Question :

217 people think this question is useful

I’ve got a C# program with values in a config file. What I want is to store ampersands for an url value like…

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

But I get errors building my site. The ampersand is not allowed. I’ve tried various forms of escaping the ampersands to no avail. Anyone know of the correct form to do this? All suggestions are welcome.

The Question Comments :

The Answer 1

430 people think this answer is useful

Use “&amp;” instead of “&”.

The Answer 2

26 people think this answer is useful

Have you tried this?

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

The Answer 3

4 people think this answer is useful

I think you should be able to use the HTML escape character (&). They can be found at http://www.theukwebdesigncompany.com/articles/entity-escape-characters.php

The Answer 4

0 people think this answer is useful

Although the accepted answer here is technically correct, there seems to be some confusion amongst users based on the comments. When working with a ViewBag in a .cshtml file, you must use @Html.Raw otherwise your data, after being unescaped by the ConfigurationManager, will become re-escaped once again. Use Html.Raw() to prevent this from occurring.

Add a Comment