如何将 Blazor 组件呈现为 HTML 字符串

toc*_*lle 12 blazor blazor-server-side blazor-client-side asp.net-blazor

我正在寻找一种将 Blazor 组件呈现为 HTML 字符串的方法,以便我能够将其用作模板引擎,在我的 Web 应用程序中创建和发送电子邮件。想法?

Qua*_*ngo 14

阿瓜原来的答案仍然很好..但是

现在有一个新的解决方案可以解决这个问题:BlazorTemplater是我为解决此功能而编写的一个库(因为我的应用程序需要这个!)。

该库会将任何.razor组件呈现为 HTML 以在电子邮件中使用。支持嵌套组件、属性、依赖项注入,并且可以在 Razor 组件库中使用。

  • 很好的解决方案,谢谢 (3认同)

agu*_*ars 8

是的,您可以使用 Steve Sanderson 提供的测试库并根据您的需要进行调整。
本文介绍了如何使用它:Blazor 组件测试简介
该库可用于生成组件的 HTML。

例子:

var host = new TestHost();
var component = host.AddComponent<YourComponent>();
var html = component.GetMarkup();
Run Code Online (Sandbox Code Playgroud)

你可以注入你需要的服务。

host.ConfigureServices(services => 
{
   service.AddSingleton<MyService>();  
});
Run Code Online (Sandbox Code Playgroud)