控件事件没有在ItemTemplate中触发

本文关键字:ItemTemplate 事件 控件 | 更新日期: 2023-09-27 17:50:44

我有一个网站,其中我有一个结账寄存器,为每个订购的项目动态创建行。每一行都有一个复选框当复选框被选中时,我想更新底层类并设置一个布尔属性。问题是OnCheckedChanged事件没有触发。

ItemTemplate:

<ItemTemplate>
    <div>
        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBox1_OnCheckedChanged"/>
    </div>
</ItemTemplate>

隐藏代码事件:

protected void CheckBox1_OnCheckedChanged(object sender, EventArgs e)
{
    //Handle event
}

我发现一些人有类似的问题,但我找到的解决方案都不起作用。最流行的解决方案是设置AutoPostBack="true",我有,但仍然没有。我真的很感激你的指导。

编辑

我可以补充说,我现在已经尝试过以类似的方式使用按钮。按钮的OnClick事件触发没有问题,但复选框仍然不能工作。

编辑2

只是为了好玩,我添加了一个按钮旁边的复选框,我连接到一个空事件。当按钮被按下并且复选框的值发生改变时,OnCheckedChanged事件发生。我猜是因为按钮引起了回发。但是为什么复选框不引起回发呢?它不应该与AutoPostBack="true"吗??

控件事件没有在ItemTemplate中触发

我认为你的事件是错误的。

protected void CheckBox1_OnCheckedChanged(object sender, EventArgs e)
{
    //Handle event
}