[asp.net] Razor ViewEngine : “@”기호를 어떻게 이스케이프합니까?

Twitter @Anywhere API와 함께 ASP.NET MVC3에서 일부 Twitter 핸들을 출력하려고하는데 Razor보기에서 “@”기호를 실제로 이스케이프하는 방법을 알아낼 수 없었습니다.

Razor에서 “@”문자를 이스케이프하기위한 구문이 무엇인지 아는 사람이 있습니까?

나는 사용해 보았고 <text></text>그 결과 JIT 오류가 발생합니다.



답변

@ 기호를 이스케이프하려면 @@을 사용해야합니다.

주의해야 할 한 가지 중요한 점은 @ 기호가 이메일 주소 내에있을 때 이스케이프 할 필요가 없다는 것입니다. Razor는 스스로 알아낼 수있을만큼 똑똑해야합니다.


답변

Twitter 메타 태그를 추가하는 경우

트위터 사용자 이름은 다음과 같습니다. foobar

다음과 같아야합니다

<meta name="twitter:site" content=@("@foobar")>


답변

CSS 코드에서 @ 기호를 주석 처리해야하고 @@ 만 작동하지 않으면 다음을 사용하십시오.

@("@@font-face"){ ... css ...}


답변

나는 또 다른 이상한 경우가 있었다 : '@' + @Model.SomeProperty링크 href로 전달 .

이 경우에 대한 최상의 솔루션 은 유사한 질문에 대한 답변 에서 IMO가 제공되었습니다 . html 코드를 사용하는 동안 @@및 둘 다 @:작동하지 않으면 &#64;상황이 복잡해집니다.

그래서 내 코드는 <a href="~/path/?query=@('@')@Model.SomePropery">

@Html.Raw('@')@Model.SomePropery 잘 작동했을 것입니다.


답변