I'm looking for a way to render a Blazor component into an HTML string, so that I'll be able to use it as a templating engine to create and send emails in my web application. Ideas?
Yes, you can use the test library provided by Steve Sanderson and adapt it to your needs.
This article explains how to use it : Introduction to Blazor Component Testing
.
The library can be use to generate the HTML of a component.
exemple :
var host = new TestHost();
var component = host.AddComponent<YourComponent>();
var html = component.GetMarkup();
And you can inject services you need.
host.ConfigureServices(services =>
{
service.AddSingleton<MyService>();
});