我尝试使用RazorEngine 3将HTML元素插入模板中。当我尝试这个时,结果字符串(后来用作HTML)最终显示HTML标记,而不是利用它来呈现页面。
代码:
var linkText = new HtmlString("<a href=" + location + ">" + linkName + "</a>");
string result = Razor.Parse(template, new {MyLink = linkText});
模板文件:
Link to file: @Model.MyLink
结果HTML:
Link to file: <a href=http://blah.com>Blah link</a>
此功能在RazorEngine 2中运行良好,但由于另一个故障我不得不升级。此外,这是一个控制台应用程序,因此添加@Raw功能可能会很复杂。
答案 0 :(得分:2)
答案最终是使用传递给模板的字符串类型变量。模板又使用Raw()方法,如下所示。
<强>代码:强>
string linkText = "<a href=" + location + ">" + linkName + "</a>";
string result = Razor.Parse(template, new {MyLink = linkText});
模板文件:
Link to file: @Raw(@Model.MyLink)