Як я можу додати значення "ampersand" для значення у значенні файлу конфігурації програми ASP.net/C#


209

У мене в програмі C # є програма C # зі значеннями. Те, що я хочу, - це зберігати амперсанди для таких значень, як ...

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

Але я отримую помилки при створенні свого сайту. Амперсанд заборонено. Я спробував різні форми втечі амперсандів безрезультатно. Хтось знає правильну форму для цього? Всі пропозиції вітаються.

Відповіді:


420

Використовуйте " &amp;" замість "&".


2
Я серйозно подумав, що спробував це. Я думаю, що я пропустив трейлінг ";" в кінці. У будь-якому випадку це працює, тому дякую за відгук Еріка.
Роб Сегал

6
Це працює, але я повинен покласти рядок. Замініть ("& amp;", "&"), де б я не отримав доступ до цього налаштування, інакше браузер не буде належним чином його виявити при натисканні на посилання: /
DLeh

Ну ... це досить прикро. Я маю на увазі, що ConfigurationManager не автоматично скасовує ці & xyl; символів при отриманні їх з конфігураційного файлу.
Efrain

@Efrain не впевнений, про що саме говорить DLeh, але unescape, безумовно, працює добре. Щойно перевірено це appSettingsяк стандартним, так і спеціальним NameValueCollectionрозділом: амперсанд не відображається належним чином на обох.
julealgon

@DLeh Якщо ви працюєте з ViewBag у файлі .cshtml, вам потрібно буде зателефонувати Html.Rawу свій .cshtml файл, щоб запобігти його виходу з рамки.
користувач700390

25

Ви пробували це?

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


0

Хоча прийнята відповідь тут технічно правильна, серед користувачів, мабуть, існує деяка плутанина на основі коментарів. Працюючи з ViewBag у файлі .cshtml, ви повинні використовувати @Html.Rawінакше ваші дані, після того, як ConfigurationManager не буде розроблений, знову стануть відхиленими . Використовуйте Html.Raw()для запобігання цього.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.