Blazor名称“ Invoke”在当前上下文中不存在

时间:2019-09-23 04:24:01

标签: c# visual-studio asp.net-core devexpress blazor

我正在使用Visual Studio 2019预览版4,.NET Core 3 RC1,

我创建一个Blazor网络应用程序(服务器blazor),我遵循https://docs.devexpress.com/Blazor/DevExpress.Blazor.Base.DxTextBoxBase.TextChanged#remarks

<DxTextBox Text="" TextChanged=@((newValue) => OnTextChanged(newValue))></DxTextBox>
<button type="button" class="btn btn-primary" disabled=@IsDisabled>Update Text</button>

@code {
    bool IsDisabled = true;

    void OnTextChanged(string newValue)
    {
        if (newValue != null)
            IsDisabled = false;

        Invoke(StateHasChanged);
    }
}

我发现错误

  

名称“ Invoke”在当前上下文中不存在

enter image description here

如何解决?

1 个答案:

答案 0 :(得分:3)

您现在需要在其位置致电InvokeAsync()

这在Preview 8 release, mentioned here中已更改。请检查该博客文章顶部和Preview 9 post中的重大更改,因为更新时可能会遇到其他错误。从Preview 9到RC1并没有重大变化,对于3.0版本,可能在11小时内没有进一步变化。

您将其更改为

<DxTextBox Text="" TextChanged=@((newValue) => OnTextChanged(newValue))></DxTextBox>
<button type="button" class="btn btn-primary" disabled=@IsDisabled>Update Text</button>

@code {
    bool IsDisabled = true;

    void OnTextChanged(string newValue)
    {
        if (newValue != null)
            IsDisabled = false;

        InvokeAsync(StateHasChanged);
    }
}