首页 > 解决方案 > 如何在 Blazor 代码后面将方法传递给 EventCallback?

问题描述

使用 Blazor (.Net Core v3+) 代码隐藏时,我无法将方法名称传递给带有事件回调参数的组件。但是,@code { }在 razor 组件中使用时,我可以将方法名称传递给组件的事件回调。

使用后面的代码时出现编译器错误,见下文:

参数 2:无法从方法组转换为 EventCallback。

@page "/localized-strings"

@inherits LocalizedStringTypesBase

<SfGrid DataSource="@MyDataSource">
    <!-- Argument 2: Error Here for RowSelected="OnDataGridRowSelect"  -->
    <GridEvents RowSelected="OnDataGridRowSelect" TValue="LocalizedStringType"></GridEvents>
</SfGrid>

public class LocalizedStringTypesBase : ComponentBase
{
    public void OnDataGridRowSelect(RowSelectEventArgs<LocalizedStringType> args)
    {
        // not implemented yet
    }
}

此错误随块消失@code { },见下文。

@page "/localized-strings"

<SfGrid DataSource="@MyDataSource">
    <!-- No Error Here for RowSelected="OnDataGridRowSelect"  -->
    <GridEvents RowSelected="OnDataGridRowSelect" TValue="LocalizedStringType"></GridEvents>
</SfGrid>


@code {

    public void OnDataGridRowSelect(RowSelectEventArgs<LocalizedStringType> args)
    {
    // not implemented yet
    }
}

标签: blazorblazor-server-side

解决方案


推荐阅读