【问题标题】:Passing HTML Markup into RazorEngine in a Console Application在控制台应用程序中将 HTML 标记传递到 RazorEngine
【发布时间】:2012-10-11 18:31:02
【问题描述】:

我正在尝试使用 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 功能可能会很复杂。

【问题讨论】:

    标签: c# html templates razor


    【解决方案1】:

    答案最终是使用传递给模板的字符串类型变量。模板依次使用 Raw() 方法,如下所示。

    代码:

    string linkText = "<a href=" + location + ">" + linkName + "</a>";
    string result = Razor.Parse(template, new {MyLink = linkText});
    

    模板文件:

    Link to file: @Raw(@Model.MyLink)
    

    【讨论】:

      猜你喜欢
      • 2016-12-02
      • 2012-05-08
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-06
      • 1970-01-01
      相关资源
      最近更新 更多