【问题标题】:Render Razor View to string?将 Razor 视图渲染为字符串?
【发布时间】:2017-01-18 17:41:52
【问题描述】:

我需要将剃刀视图呈现为字符串。我想传递我的模型:

public class ContactDetails
{
    public string Name { get; set; }
    public string Lastname { get; set; }
    public string Email { get; set; }
}

并在我的剃刀视图中使用它,然后将其渲染到字符串。

我听说过 RazorEngine,但我想不使用它。 我也没有控制器上下文。

也许我需要伪造一些控制器上下文?

有可能吗?你知道如何解决这个问题吗?

【问题讨论】:

  • 为什么必须这样做?
  • 我认为您的意思是“渲染”而不是“解析”。为什么要避开RazorEngine?需要重写很多代码,这不是要求从头开始重写它的地方!作为替代方案,您可以向自己的站点发出 HTTP 请求并以这种方式呈现页面。
  • 我想弄清楚你是否正在做一些无缘无故让你的生活变得更艰难的事情。
  • Render a view as a string 的可能副本,但您必须有控制器上下文。没有一个,你怎么能在 ASP.NET MVC 中运行任何东西?
  • 你的调用从你有控制器上下文的控制器开始。将其作为参数传递到您需要渲染视图的位置。

标签: c# asp.net .net asp.net-mvc razor


【解决方案1】:

您可能想查看https://github.com/RickStrahl/Westwind.RazorHosting - 它展示了如何在没有控制器的情况下使用 razor 引擎呈现字符串

【讨论】:

    【解决方案2】:

    有一个更简单的库,称为Razor.Templating.Core,它可以在 MVC 和 MVC 上下文之外工作。支持 .NET Core 3.1 及以上版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多