我是 Blazor 的新手。目前,当我尝试从客户端 blazor 应用程序(Web 程序集)调用 Web API 并在我的 UI 中使用复选框作为 GET 参数的过滤器时,我遇到了问题。
示例:我有一个复选框:
<input type="checkbox" class="form-check-input" id="chkOnlyActiveRecords" @bind="OnlyActiveRecords" @onclick="LoadDataFromServer" />
和 API 调用:
@code {
public bool OnlyActiveRecords{ get; set; }
private async Task LoadDataFromServer()
{
data = await Http.GetJsonAsync<IList<Zeme>>($"Zeme?onlyActive={this.OnlyActiveRecords}");
}
}
问题是属性 OnlyActiveRecords 在 OnClick 时包含旧值。
当我使用 onchange 事件时:
<input type="checkbox" class="form-check-input" id="chkOnlyActiveRecords" @bind="OnlyActiveRecords" @onchange="LoadDataFromServer" />
我收到错误消息:“'@bind' 指令属性使用了属性 'onchange'。”
当 Blazor 中的属性值发生变化时,我有什么方法可以调用方法?