为什么不把它渲染成原始的呢?

本文关键字:原始 为什么不 | 更新日期: 2023-09-27 18:09:33

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

但是,我不能让这个工作:

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

这会导致"result"变成

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

我不希望"&"变成

@amp;

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

起始字符"<"k"answers"t"之间的空格

…那么razor引擎解析器Raw()函数的行为是正确的,没有将"&"转换为"&"

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

为什么不把它渲染成原始的呢?

你不需要做任何事情,&amp;实际上是&

如果您尝试这段代码,您将看到它输出&

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

详情请参阅http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references和http://en.wikipedia.org/wiki/Character_encodings_in_HTML