我是新发现的Blazor,并一直在玩一些测试项目,以更好地衡量我如何可能包括在未来的项目。来自MVC背景,我从MVC项目开始,并在它中添加了Razor组件,我在标准MVC剃须刀页面中嵌套了razor组件。
有可能发生相反的情况吗?我可以在Razor(Blazor)组件中执行与@Html.RenderPartial()等价的操作吗?
例如
MVC视图使用@(await Html.RenderComponentAsync<Test>(RenderMode.ServerPrerendered))呈现组件
该组件管理状态等,并使用等量的@Html.RenderPartial("Someview.cshtml", someModel)呈现带有模型绑定的标准剃须刀视图。
发布于 2020-06-05 17:28:15
您可以使用RenderFragment从静态文件、剃刀页面或MVC视图加载Html代码,方法是从其URL中加载其内容。
样本
@page "/"
@page "/home"
@inject HttpClient _httpClient
<h1>Welcome</h1>
@_renderFragment
@code {
protected override async Task OnInitializedAsync()
{
using var response = await _httpClient.GetAsync("http://localhost:4321/WelcomFragment").ConfigureAwait(false);
var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
_renderFragment = builder =>
{
builder.OpenElement(1, "p");
builder.AddContent(2, new MarkupString(content));
builder.CloseElement();
};
base.OnInitialized();
}
}https://stackoverflow.com/questions/62209280
复制相似问题