在c# Blazor的局部类中初始化RenderFragment



我正在使用一个来自第三方包的组件,它接受一个RenderFragment作为参数,我想通过我的索引页的部分类给这个RenderFragment分配一个值。

我意识到,当我在code标签中构建RenderFragment时,它可以工作。但是一旦你把它放在partial class中,Visual Studio开始标记错误。

示例代码:

剃刀文件:

<Statistic Title="Feedback" Value="1128" PrefixTemplate="@prefix1" /> 
@code { 
public RenderFragment prefix1 = @(<Icon Type = "like" />);
} 

不工作的示例代码:

剃刀文件:

<Statistic Title="Feedback" Value="1128" PrefixTemplate="@prefix1" />

部分类:

public partial class Index {
RenderFragment prefix1 = @(<Icon Type = "like" />);
}

所以我现在的问题是,我如何在一个部分类构建渲染片段?我似乎在网上找不到关于这个主题的任何东西。

提前感谢。

我选择了RenderTreeBuilder,就像mr . Magoo建议的那样,因为我想让我的业务逻辑远离UI。

我是这样做的:

剃刀文件:

<Statistic Title="Feedback" Value="1128" PrefixTemplate="@prefix1" />

部分类:

public partial class OperationCard
{
RenderFragment prefix1 = builder =>
{
builder.OpenComponent<Icon>(1);
builder.AddAttribute(2, "Type", "like");
builder.CloseComponent();
};
}

最新更新