剃刀引擎 - 如何在引号内逃脱@?

时间:2014-11-05 15:10:29

标签: asp.net-mvc razor razorengine

我需要通过RazorEngine创建此输出:

<element attr1="@SomeText"></element>

所以在我的cshtml文件中输入了这个:

<element attr1="@@@Model.SomeProp"></element >

我遇到的问题是,使用@@转义@会导致RazorEngine出错。

在你建议&#34;&amp; #64;&#34;我必须加上

<element attr1="&#64;SomeText"></element> 

在我的情况下不会做(不要问我为什么)

你能建议什么作为解决方案?

除了创建一个全局常量并因此使用它之外,没有任何想法

<element attr1="@Class1.At@Model.SomeProp"></element >

PS:我得到的错误是:

  

分析器错误消息:&#34; @&#34;在代码块的开头无效。   只有标识符,关键字,评论&#34;(&#34;和&#34; {&#34;有效。

3 个答案:

答案 0 :(得分:3)

<element attr1='@Html.Raw("@")@Model.PortNumber'></element>

答案 1 :(得分:2)

你可以这样做:

<element attr1="@("@SomeText")"></element>

答案 2 :(得分:0)

我原来的答案是使用符号代码&#64;输出@ http://character-code.com/

但是,因为你“不能”那么可能是Html.Raw?

<element attr1="@Html.Raw("@SomeText")"></element>