Razor ViewEngine: How do I escape the “@” symbol?

依然范特西╮ 提交于 2019-11-26 20:52:13

问题


I'm trying to output some Twitter handles in ASP.NET MVC3 in conjunction with the Twitter @Anywhere API, and I haven't been able to figure out how to actually escape the "@" symbol in a Razor view.

Does anyone know what the syntax is for escaping the "@" character in Razor?

I've tried using <text></text> and that results in a JIT error.


回答1:


You have to use @@ to escape the @ symbol.

One important thing to notice is that you DO NOT need to escape the @ symbol when it exists within an email address. Razor should be smart enough to figure that out on its own.




回答2:


If you are adding Twitter meta tags

and your Twitter username is, say, blrbr ( follow me ;) )

it should look like this

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



回答3:


if you need to comment @ symbols in css code and just @@ wont work, use this:

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



回答4:


I had yet another odd case: pass '@' + @Model.SomeProperty to a link href.

The best solution for this case was given IMO in this answer to a similar question. Both @@ and @: didn't work while using the html code &#64; would complicate things.

So, my code was <a href="~/path/?query=@('@')@Model.SomePropery">

@Html.Raw('@')@Model.SomePropery would have worked as well.



来源:https://stackoverflow.com/questions/5287704/razor-viewengine-how-do-i-escape-the-symbol

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!