第二次点击后页面是否刷新?



我有以下 blazor 页面来显示来自数据库的筛选结果页面。

@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"后单击按钮将不会刷新屏幕。再次单击将显示正确的值。

你应该使用Task而不是void

async void SearchChanged()

使用这个:async Task SearchChanged()

最新更新