当前上下文中不存在Blazor Return RenderFragment&__Builder& [英] blazor return RenderFragment '__builder' does not exist in the current context
本文介绍了当前上下文中不存在Blazor Return RenderFragment&__Builder&的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
RenderFragment
,
但我收到编译错误:
'__builder' does not exist in the current context
以下是显示该问题的最低代码:
<div>
@RenderButton(1)
</div>
@code {
private RenderFragment RenderButton(int number)
{
return builder =>
{
<button type="button">@number</button>
};
}
}
在我看来,这可能是不可能的/不允许的,如果不是,有什么方法可以避免编写相同的呈现代码?假设我需要在多个循环中使用这个RenderButton
方法,如果Else块
编辑:我现在能想到的唯一解决方案是为这些RenderFragment
方法创建一个组件
推荐答案
您的代码似乎是针对早期版本的Blazor。
Blazor现在有了一个更优雅的符号,使用templated delegates:
private RenderFragment RenderButton(int number)
{
return @<button type="button">@number</button>;
}
通常缩写为:
private RenderFragment RenderButton(int number) =>
@<button type="button">@number</button>;
错误的解释是__builder
是一个固定名称,由代码转换程序使用。您还可以像这样修复代码:
// not recommended
private RenderFragment RenderButton(int number)
{
return __builder =>
{
<button type="button">@number</button>
};
}
剃须刀编译器能够对@
和;
执行智能切换,并将__builder => ...
部分插入到窗帘后面。
这篇关于当前上下文中不存在Blazor Return RenderFragment&__Builder&的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文