我有一些部分的 cshtml 视图。该视图继承自 Microsoft.AspNetCore.Mvc.Razor.RazorPage。
我想在 blazor 组件中渲染此视图(继承自 Microsoft.AspNetCore.Components.ComponentBase)。
在cshtml中可以使用@Html.Partial(...),但在blazor组件中@Html不可用。
有什么方法可以做到这一点吗?
在 Blazor 中,您可以通过将 HTML 作为字符串加载,然后将其转换为
MarkupString来接近
@Html.Partial
或 @Html.PartialAsync
的功能,因为从 ASP.NET Core 3.1 开始,它具有 显式转换运算符。 :
@code
{
string anchorHtmlString = "<a class='btn btn-primary'>Click me!</a>";
}
@((MarkupString)anchorHtmlString)
注意强制转换表达式包含在
@()
内。
字符串本身可以由 OnInitializedAsync 中的另一个异步 HTTP 请求加载。
string anchorHtmlString = await HttpClient.GetStringAsync("request/url");