Blazor:更改属性时调用Web API

问题描述 投票:1回答:1

我是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}");
}

}

问题在于,Only时刻属性OnlyActiveRecords包含旧值。

当我使用类似的onchange事件时:

<input type="checkbox" class="form-check-input" id="chkOnlyActiveRecords" @bind="OnlyActiveRecords" @onchange="LoadDataFromServer" />

我收到错误消息,消息:“'@ bind'指令属性使用属性'onchange'。”

当Blazor中的属性值更改时,有什么方法可以调用方法?

blazor blazor-client-side
1个回答
0
投票

我认为您的问题是@onchange是@bind功能的一半,因此您需要使用@ bind-value =“ OnlyActiveRecords” @ onchange =“ LoadDataFromServer”将更改事件与设置值分开。

© www.soinside.com 2019 - 2024. All rights reserved.