ASP.net/C# 앱 구성 파일 값에 앰퍼샌드를 추가하는 방법


209

구성 파일에 값이있는 C # 프로그램이 있습니다. 내가 원하는 것은 다음과 같은 URL 값으로 앰퍼샌드를 저장하는 것입니다 ...

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

그러나 사이트를 구축하는 중에 오류가 발생합니다. 앰퍼샌드는 허용되지 않습니다. 나는 앰퍼샌드를 탈출하는 다양한 형태를 시도했지만 아무 소용이 없습니다. 누구나 올바른 양식을 알고 있습니까? 모든 제안을 환영합니다.

답변:


420

&amp;"&"대신 " "를 사용하십시오 .


2
나는 이것을 시도했다고 진지하게 생각했다. 후행 ";"을 놓친 것 같습니다. 끝에. 어쨌든 그것은 피드백 Eric에 대해 감사합니다.
Rob Segal

6
이것은 작동하지만이 설정에 액세스 할 때마다 string.Replace ( "& amp;", "&")를 넣어야합니다. 그렇지 않으면 링크를 클릭하면 브라우저가 올바르게 감지하지 못합니다 : /
DLeh

글쎄요 ... 실망스러운 일입니다. ConfigurationManager가 이러한 & xyl; 구성 파일에서 가져올 때 문자.
Efrain

@Efrain은 DLeh가 정확히 무엇을 말하고 있는지 확신하지 못하지만 언 스케이프는 확실히 잘 작동합니다. appSettings커스텀 NameValueCollection섹션 뿐만 아니라 표준 으로 이것을 테스트했습니다 : 앰퍼샌드는 모두 이스케이프 처리되지 않습니다.
julealgon

@DLeh .cshtml 파일에서 ViewBag를 사용하는 Html.Raw경우 프레임 워크에서 이스케이프되지 않도록 .cshtml 파일을 호출해야합니다 .
user700390

25

이것을 시도 했습니까?

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


0

여기에 허용 된 답변은 기술적으로 정확하지만 의견에 따라 사용자 사이에 약간의 혼란이있는 것 같습니다. .cshtml 파일에서 ViewBag로 작업 할 때는 @Html.RawConfigurationManager에서 이스케이프 처리를 해제 한 후 다시 이스케이프 처리 된 데이터를 사용해야 합니다. Html.Raw()이를 방지하기 위해 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.