Страница обновляется после второго нажатия? - PullRequest
1 голос
/ 15 октября 2019

У меня есть следующая страница блейзора для отображения страницы отфильтрованного результата из базы данных.

@inject ViewModels.MyViewModel VM
<input id="search" type="text" @bind="search" />
<input id="search" type="button" value="Go" @onclick="SearchChanged" /> 
<p>Current count: @currentCount</p>  
@code {
    string search = "";
    int currentCount = 0;
    IEnumerable<MyDto> dtos;

    async void SearchChanged() {
        currentCount++;
        Console.WriteLine($"VM.Ric: {ric}"); // Correct values will be printed
        dtos = GetList(search);
    }
}
@if (dtos == null)
{
    <p><em>Please enter the ...</em></p>
}
else
{
    <table class="table">
        <thead>
            <tr>
                <th>ID</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var ca in dtos)
            {
                <tr>
                    <td>@ca.ID</td>
                </tr>
            }
        </tbody>
    </table>
}

Однако мне нужно дважды нажать кнопку (после ввода a), чтобы увидеть результат. Например, нажатие кнопки после ввода «ABC» не обновит экран. Повторное нажатие покажет правильное значение.

1 Ответ

3 голосов
/ 15 октября 2019

Вы должны использовать Задание вместо void in

async void SearchChanged()

Используйте это: async Task SearchChanged()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...