C# 将Blazor组件呈现为静态HTML并将其作为流返回

C# 将Blazor组件呈现为静态HTML并将其作为流返回,c#,asp.net-mvc,blazor,blazor-server-side,blazor-client-side,C#,Asp.net Mvc,Blazor,Blazor Server Side,Blazor Client Side,是否可以将blazor组件呈现为字符串,以便呈现静态HTML。我知道路在哪里 将MVC视图渲染为字符串。我需要做的是创建静态HTML页面的方法,该页面将下载到WPF应用程序中,用户可以在浏览器中打开它? 这是MVC应用程序的流行答案: 那么Blazor也有类似的情况吗?我不需要在Blazor中完成它,但web是在Blazor中完成的,所以它会很好。来自Blazor.NET5RC1 在托管应用程序中,您可以将组件标记帮助程序与render mode=“Static”或render mode=“We

是否可以将blazor组件呈现为字符串,以便呈现静态HTML。我知道路在哪里 将MVC视图渲染为字符串。我需要做的是创建静态HTML页面的方法,该页面将下载到WPF应用程序中,用户可以在浏览器中打开它? 这是MVC应用程序的流行答案: 那么Blazor也有类似的情况吗?我不需要在Blazor中完成它,但web是在Blazor中完成的,所以它会很好。

来自Blazor.NET5RC1

在托管应用程序中,您可以将组件标记帮助程序与
render mode=“Static”
render mode=“WebAssemblyPrerendered”

@page”/static counter
@名称空间服务器.Pages
@addTagHelper*,Microsoft.AspNetCore.Mvc.TagHelpers

我相信
RenderFragment
是您所需要的,这篇文章有用吗?我刚刚发现有一个名为bUnit的库,但我不确定这是最好的方法:bUnit,用于测试。要将字符串模板传递给组件,您需要RenderFragment。是的,但它有获取渲染片段的方法:var component=ctx.RenderComponent();var html=component.Markup;在Blazor中,您可以通过RenderFragment将字符串、简单字符串转换为HTML,我认为这里不需要其他依赖项。
@page "/static-counter"
@namespace Server.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

<component type="typeof(Client.Shared.MyComponent)" render-mode="WebAssemblyPrerendered" />