【问题标题】:CheckBox does not fire CheckedChanged event when unchecking the checkbox Dynamically in ASP.Net在 ASP.Net 中动态取消选中复选框时,CheckBox 不会触发 CheckedChanged 事件
【发布时间】:2019-11-15 21:51:37
【问题描述】:

我在此更新面板中有一个复选框。

<asp:UpdatePanel runat="server" ID="LVCheckBoxes">
    <ContentTemplate>
            <ul>
                <li>
                    <asp:CheckBox ID="New" Text="New" AutoPostBack="true" runat="server" OnCheckedChanged="checkBoxCheck" /></li>
            </ul>
    </ContentTemplate>
</<asp:UpdatePanel >

我要做的就是在单击链接按钮时取消选中它。 哪个工作正常。

<asp:LinkButton id="LbUnCheck" runat="server" OnClick="LbUnCheck" ToolTip="New">UnCheck</asp:LinkButton>

但除此之外,我还想触发未触发的检查更改事件

protected void LbUnCheck(object sender, EventArgs e)
{
        LinkButton lb = (LinkButton)sender;
        CheckBox cb = (CheckBox)LVCheckBoxes.FindControl(lb.ToolTip);
        cb.CheckedChanged += checkBoxCheck;
        cb.Checked = false;

}


protected void checkBoxCheck(object sender, EventArgs e)
{
   //Do something

}

我什至使用 JQuery 进行了尝试,但效果并不理想。

帮助赞赏..!!

【问题讨论】:

    标签: c# asp.net events checkbox updatepanel


    【解决方案1】:

    尝试从链接按钮单击事件方法 (LbUnCheck) 调用 CheckBox 检查事件方法 (checkBoxCheck)。像这样的:

    protected void LbUnCheck(object sender, EventArgs e)
    {
            LinkButton lb = (LinkButton)sender;
            CheckBox cb = (CheckBox)LVCheckBoxes.FindControl(lb.ToolTip);
    
            // cb.CheckedChanged += checkBoxCheck; // REMOVE THIS LINE
    
            cb.Checked = false;
            checkBoxCheck(null, null); // NOTICE THIS IS AFTER SETTING cb.Checked = false;
    }
    
    
    protected void checkBoxCheck(object sender, EventArgs e)
    {
       //Do something
    }
    

    【讨论】:

    • Thanx man 它起作用了,但我不得不这样做 -> checkBoxCheck(cb, null);在多个checkox的情况下
    • @raw_hitt 这是公平的。您可以传递所需的复选框并通过checkBoxCheck 方法中的sender 参数访问它,然后从那里开始。快乐编码
    猜你喜欢
    • 2011-03-28
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多