2014-11-05 59 views
1

我需要通过RazorEngine创建这样的输出:剃须刀引擎 - 如何在引号内逃脱@

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

所以在我CSHTML文件我输入了这一点:

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

我现在面临的问题是,逃避@与@@导致RazorEngine错误。

在您建议“&#64;”之前我要补充一点,

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

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

你能提出一个解决方案吗?

没有想到其他的不是创建一个全局常量,并用它因而

<element attr1="@[email protected]"></element > 

PS:我得到的错误是:

分析器错误信息:“@”是不是在代码块的开始处有效。 只有标识符,关键字,注释,“(”和“{”是有效的。

+0

那么,这只是一些静态文本,你想设置属性值为或是来自视图模型属性的值? – mreyeros 2014-11-05 15:12:56

+0

你有什么错误?这应该工作。 – SLaks 2014-11-05 15:14:33

+1

为什么你不能使用符号代码? – Oliver 2014-11-05 15:17:40

回答

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

谢谢! 这有效。我没想过用@ Html.Raw(“@”)代替“@” – user3664916 2014-11-05 15:28:43

0

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

但是因为你“可以@ ?“T”那么也许Html.Raw

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

我建议只在'Raw'中放置'@ SomeText',而不是整个元素。 – Zabavsky 2014-11-05 15:21:23

+0

谢谢,为此编辑 – Oliver 2014-11-05 15:34:09

2

你可以这样做:

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