Razor를 뷰 엔진으로 사용하여 샘플 ASP.NET MVC 3 사이트를 만들고 있습니다. 면도기 구문은 @
문자 eg로 시작합니다 @RenderBody()
. 내 cshtml 페이지에 @test를 쓰면 구문 분석 오류가 발생합니다.
CS0103 : 'test'라는 이름이 현재 컨텍스트에 없습니다.
'@'문자를 어떻게 피합니까?
@
를 중괄호로 묶는 것입니다. 나는 이런 식으로 작성하여이 작업을 수행 할 수 있었다 :@(@new)
Razor를 뷰 엔진으로 사용하여 샘플 ASP.NET MVC 3 사이트를 만들고 있습니다. 면도기 구문은 @
문자 eg로 시작합니다 @RenderBody()
. 내 cshtml 페이지에 @test를 쓰면 구문 분석 오류가 발생합니다.
CS0103 : 'test'라는 이름이 현재 컨텍스트에 없습니다.
'@'문자를 어떻게 피합니까?
@
를 중괄호로 묶는 것입니다. 나는 이런 식으로 작성하여이 작업을 수행 할 수 있었다 :@(@new)
답변:
@@
해야합니다.
@RazorCodePart1 @@ @RazorCodePart2
예를 들어 두 개의 Razor 코드 스 니펫 사이의 리터럴 @.
<style>
HTML 인코딩 옵션이되지 않도록, 내장에 '@media {}'지시자가 내 면도기 페이지에 태그를; @@ 만 작동합니다.
면도기 @ 이스케이프 문자를 기호로 ...
<img src="..." alt="Find me on twitter as @("@username")" />
또는
<img src="..." alt="Find me on twitter as @("@")username" />
사용 <text></text>
하기 쉬운 방법@:
@Html.Raw("@")
@@
모든 경우에 @@
탈출 하지는 않기 때문에 나보다 훨씬 신뢰할 수있는 것 같습니다 .
따라서:
<meta name="twitter:site" content="@twitterSite">
될 것입니다 :
<meta name="twitter:site" content="@Html.Raw("@")twitterSite">
@@는 위에서 언급 한 Razor보기에서 @의 이스케이프 문자입니다.
그러나 Razor는 '@'이 '@'일 때 C # (또는 VB.Net) 코드를 표시하는 경우 문제를 해결하려고합니다. 이를위한 주요 용도 중 하나는 Razor보기에서 이메일 주소를 식별하는 것입니다. 이메일 주소에서 @ 문자를 이스케이프 할 필요는 없습니다.
이 목적으로 @@을 사용할 수 있습니다. 처럼var email = firstName + '\@@' + domain;
플레이스 홀더 속성 내에서 이들 중 어느 것도 작동하지 않으므로 xml 특수 문자를 사용했습니다.
<input type="text" placeholder="fex: firstname@lastname.com"/>
여기에 더 많은 예가 있습니다. https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
이 질문이 오래되었다는 것을 알고 있지만 위의 모든 것을 시도했지만 URL 내부의 ASP.NET 전체 프레임 워크 (MVC 5)에서 "@"문자를 이스케이프 처리하지 못했습니다. 그래도 Terje Solem의 답변을 바탕으로 UTF-8 코드가 효과적 %40
이었습니다. 이것은 내가 도달하려는 원래 URL입니다.
https://unpkg.com/@google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js
그리고 그 안에 코드가 있습니다 :
https://unpkg.com/%40google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js