我想知道在代码中将字符串转换为RenderFragment的推荐方法。
现在我正在这样做:
RenderFragment fragm = @<text>@myString</text>;
但我不确定这是否是最佳实践。
我想知道在代码中将字符串转换为RenderFragment的推荐方法。
现在我正在这样做:
RenderFragment fragm = @<text>@myString</text>;
但我不确定这是否是最佳实践。
我不知道是否有“推荐”的方法。
RenderFragment
是一个代理,定义如下:
public delegate void RenderFragment(RenderTreeBuilder builder);
这是传递给Renderer
以实际呈现组件标记的代码块。
这里有一个演示页面,展示了三种定义方法:
@page "/"
<PageTitle>Index</PageTitle>
<h1>Hello, world!</h1>
<div class="p-2">
@RF1
</div>
<div class="p-2">
@RF2
</div>
<div class="p-2">
@RF3
</div>
@code {
//need to be careful with the builder name not to clash with one the names used by the Razor compiler
private RenderFragment RF1 => (mybuilder) =>
{
<text>@myString</text>
};
private RenderFragment RF2 => (builder) =>
{
builder.AddMarkupContent(0, $"<text>{myString}</text>");
};
// DO NOT use an loop incrementer for the sequence number
private RenderFragment RF3 => (builder) =>
{
builder.OpenElement(0, "text");
builder.AddContent(1, myString);
builder.CloseElement();
};
private string myString = "Hello Blazor";
}
@:@{在此处放置一些代码}
; - Shnugo