小编Rod*_*tes的帖子

Blazor - 当子组件 onclick 事件发生时执行父组件的方法

我需要onclick在子组件中发生该事件,ShowMessage在父组件中执行方法,传递message字符串作为参数。以下代码不起作用:

儿童剃须刀:

    <input type="text" @bind-value="@message" @onclick="OnClickCallback"/>

    <button @onclick="ChangePassword">Parent button</button>

@code {
    private string message;
    
    [Parameter]
    private string Message {get; set;}

    [Parameter]
    public EventCallback<MouseEventArgs> OnClickCallback {get; set;}

    [Parameter]
    public EventCallback<string> OnClick { get; set; }

    private async Task ChangePassword()
    {
        await OnClick.InvokeAsync(message);
    }
    
}
Run Code Online (Sandbox Code Playgroud)

父剃刀:

@page "/parent"

<Child @bind-Message="message" OnClickCallback="@ShowMessage"></Child>

<p>@message</p>

@code {
    private string message;

    private void ShowMessage(MouseEventArgs args, string e)
    {
        message = e;
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:无法从“方法组”转换为“EventCallback”OnClickCallback="@ShowMessage"

c# blazor blazor-server-side asp.net-blazor blazor-webassembly

7
推荐指数
1
解决办法
1万
查看次数