gpt4 book ai didi

取消选中时,ASP.NET CheckBox 不会触发 CheckedChanged 事件

转载 作者:行者123 更新时间:2023-12-02 08:32:39 25 4
gpt4 key购买 nike

我在 ASP.NET 内容表单上有一个复选框,如下所示:

<asp:CheckBox runat="server" ID="chkTest" AutoPostBack="true" OnCheckedChanged="chkTest_CheckedChanged" />

在我的代码后面我有以下方法:

protected void chkTest_CheckedChanged(object sender, EventArgs e)
{
}

当我在浏览器中加载页面并单击复选框时,它会被选中,页面回发,并且我可以看到 chkTest_CheckedChanged 被调用。

当我再次单击复选框时,它会变为未选中状态,页面回发,但不会调用 chkTest_CheckedChanged

该过程是可重复的,因此一旦取消选中复选框,选中它将触发该事件。

我在 Web.Config 中禁用了 View 状态,启用 View 状态会导致此问题消失。在 View 状态保持禁用状态时,如何才能可靠地触发事件?

更新:如果我在服务器标记上设置 Checked="true" ,则情况会随着取消选中复选框时触发事件而发生逆转,但反之则不然。

更新 2:我已经在页面中重写了 OnLoadComplete ,从那里我可以确认 Request.Form["__EVENTTARGET"] 已正确设置为我的 CheckBox 的 ID。

最佳答案

要触发 CheckedChanged 事件,请为 CheckBox 设置以下属性,AutoPostBack 属性应该为 true,并且应该有一个默认值:checked false 或 true。

AutoPostBack="true" Checked="false"

关于取消选中时,ASP.NET CheckBox 不会触发 CheckedChanged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3457136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com