2014-11-05 61 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>