c# - 如何将绑定值和 onchange 放在同一个输入复选框中?
问题描述
你好社区我在放置 a 时遇到问题,bind-value
并且onchange
显示以下错误:
The attribute 'onchange' is used two or more times for this element. Attributes must be unique (case-insensitive). The attribute 'onchange' is used by the '@bind' directive attribute.
这是我的input checkbox
:
<div class="form-group col-md-2">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="customSwitch1" @bind-value="@ProveedorEstadoCarrito.Cotizacion.Aceptada" @onchange="e => CheckChanged(e)">
<label class="custom-control-label" for="customSwitch1">Aceptada</label>
</div>
</div>
这是事件:
private Boolean Aceptada = false;
private async Task CheckChanged(ChangeEventArgs ev)
{
Aceptada = (Boolean)ev.Value;
ProveedorEstadoCarrito.Cotizacion.Aceptada = Aceptada;
if (Aceptada == true)
{
var httpResponse = await repositorio.Put("api/Cotizacion", ProveedorEstadoCarrito.Cotizacion);
if (httpResponse.Error)
{
await mostrarMensajes.MostrarMensajeError(await httpResponse.GetBody());
}
else
{
navigationManager.NavigateTo("/formulario-cotizacion");
}
}
}
我希望复选框bind
被点击时激活
解决方案
首先,您通常不会绑定到 value 属性。它保持固定,当存在时,在表单元素中,它作为表单数据传递给服务器。
您想要的是选中的属性,如下面的代码片段所示:
<input type="checkbox" checked="@selected"
@onchange="@((args) => selected = (bool) args.Value)" />
@code {
private bool selected;
}
上面的代码展示了如何绑定到一个复选框元素。如您所见,上面的代码创建了一个双向数据绑定,从变量到元素,以及从元素到变量。涉及值属性。同样的用法也适用于单选按钮元素。与其他输入元素不同,它们都使用了checked 属性,而不是value 属性。
您也可以使用此变体:
<input type="checkbox" @bind="selected" />
相当于上面的代码:一个选中的属性+ onchange事件,但是上面的版本可以让你解决你的问题。您的代码如下所示:
<input type="checkbox" class="custom-control-input" id="customSwitch1" checked="@ProveedorEstadoCarrito.Cotizacion.Aceptada" @onchange="CheckChanged">
和
private async Task CheckChanged(ChangeEventArgs ev)
{
Aceptada = (Boolean)ev.Value;
ProveedorEstadoCarrito.Cotizacion.Aceptada = Aceptada;
if (Aceptada == true)
{
希望这可以帮助...
推荐阅读
- c# - 有效的类层次结构?
- openshift - 通过yaml在openshift中创建项目时如何授予对用户组的访问权限
- highcharts - HighMaps:将第二个数据系列添加到工具提示
- asp.net-mvc - 是否可以在 .NET Framework 4.6.1 控制台应用程序上使用 ASP.NET Core 2.x MVC
- git - 无法上传到 Bitbucket 远程仓库上的新本地仓库
- function - 完全被球拍语法弄糊涂了-请帮忙
- function - 循环 x 次,以 x 作为参数,使用 AutoHotKey
- azure - 如何在 Microsoft Azure 中将 VM 从公共子网迁移到私有子网
- json - JSON格式的语言列表(语言为键,代码为值)
- google-apps-script - 当我使用 Apps 脚本在 Google 日历上复制活动时,如何包含原始颜色?