razorengine为什么不把它变成原始的?

时间:2013-04-17 12:11:00

标签: c# razorengine

我正在使用RazorEngine创建数据驱动的xaml。

然而,我无法让它发挥作用:

string template = "<k t=\" @Raw(Model.Name) \" ";
var model = new { Name = "CS&#10;" };
string result = Razor.Parse(template, model);

这导致“结果”成为

<k t="CS&amp;#10; "

我不想要“&amp;”变成

@amp;

如果我删除以下任何内容:

起始字符“&lt;” “k”和“t”之间的空间 \“

....然后剃刀引擎解析器Raw()函数通过不转换“&amp;”而表现正常进入“&amp;”

我也在想,通过使用代码块@ {}而不仅仅是@,我可以帮助Razor更好地理解我的意图。 但是,我还没想到如何让代码块向Razor输出发送文本。

1 个答案:

答案 0 :(得分:0)

您无需执行任何操作&amp;实际上是&

如果您尝试使用此代码,则会看到它输出&

var str = HttpUtility.HtmlDecode("&amp;")

有关详细信息,请参阅http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_referenceshttp://en.wikipedia.org/wiki/Character_encodings_in_HTML