Blazor Имя Invoke не существует в текущем контексте. - PullRequest
0 голосов
/ 23 сентября 2019

Я использую Visual Studio 2019 Preview 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 Ответ

2 голосов
/ 23 сентября 2019

Теперь вам нужно позвонить InvokeAsync() вместо него.

Это было изменено в выпуске Preview 8, упомянутом здесь .Проверьте последние изменения в верхней части этого сообщения блога, а также изменения в сообщении Preview 9 , так как могут возникнуть другие ошибки при обновлении.Не было никаких существенных изменений от предварительного просмотра 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);
    }
}
...