为什么不把它渲染成原始的呢?
本文关键字:原始 为什么不 | 更新日期: 2023-09-27 18:09:33
我正在使用RazorEngine创建数据驱动的xaml。
但是,我不能让这个工作:
string template = "<k t='" @Raw(Model.Name) '" ";
var model = new { Name = "CS " };
string result = Razor.Parse(template, model);
这会导致"result"变成
<k t="CS&#10; "
我不希望"&"变成
@amp;
如果我删除以下任何内容:
起始字符"<"k"answers"t"之间的空格
…那么razor引擎解析器Raw()函数的行为是正确的,没有将"&"转换为"&"
我也在想,我可以帮助Razor更好地理解我的意图,通过使用代码块@{}而不是@。然而,我还没有弄清楚如何使代码块向Razor输出发送文本。
你不需要做任何事情,&
实际上是&
。
如果您尝试这段代码,您将看到它输出&
var str = HttpUtility.HtmlDecode("&")
详情请参阅http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references和http://en.wikipedia.org/wiki/Character_encodings_in_HTML