我正在寻找一种将 Blazor 组件渲染成 HTML 字符串的方法,这样我就可以将其用作模板引擎,在我的 Web 应用程序中创建和发送电子邮件。有什么想法吗?
我正在寻找一种将 Blazor 组件渲染成 HTML 字符串的方法,这样我就可以将其用作模板引擎,在我的 Web 应用程序中创建和发送电子邮件。有什么想法吗?
Agua的原始回答依然不错,但是
现在有一种新的解决方案可用于此问题:BlazorTemplater 是我编写的一个库,旨在解决这个问题(因为我需要在我的应用程序中使用它!)。
该库将任何.razor
组件呈现为HTML以供在电子邮件中使用。支持嵌套组件、属性、依赖注入,并且可以在Razor Component库中使用。
var host = new TestHost();
var component = host.AddComponent<YourComponent>();
var html = component.GetMarkup();
你可以注入你需要的服务。
host.ConfigureServices(services =>
{
service.AddSingleton<MyService>();
});