繁体   English   中英

RadioButtonList SelectedIndexChanged并非每次都触发

[英]RadioButtonList SelectedIndexChanged not firing everytime

我在asp.net UserControl中有一个RadioButtonList控件。 它具有2个单选按钮“ Leave”和“ Available”。 单击“请假”时,我将显示来自SelectedIndexChanged事件的警报为“您确定要请假吗?” 单击确定和取消按钮。 单击“取消”后,它将自动选择“可用”。 到目前为止,这很好。

步骤1:用户单击“取消”(Cancel)恢复到“可用”(Available)

步骤2:当用户再次单击“离开”时,它将不会显示来自RadioButton的SelectedIndexChanged的警报。

第3步:现在它将再次起作用。

为此,我已为该UserControl启用EnableViewState =“ true”。 但是仍然无法第二次使用。

下面是服务器端的SelectedIndexChanged事件

protected void rdlUser_SelectedIndexChanged(object sender, EventArgs e)
{
    if (rdlUser.SelectedIndex == 1)
    {
        txtUser.Enabled = true;
    }
    else
    {
        radWindowManager.RadConfirm("Are you sure you want to take Leave?", "confirmSave" + this.ClientID, 300, 100, null, "");
    }
}

这是JavaScript代码

function confirmSave<%=this.ClientID%>(arg) {
    if (arg == true) {

        $find('<%= FindControl("txtUser").ClientID %>').set_value("");

    }
    else {
        var rdlUser = document.getElementById("<%= rdlUser.ClientID %>");
        var radioButtons = rdlUser.getElementsByTagName('input');
        radioButtons[3].checked = true;
    }
}

使用以下代码,让我知道结果

function confirmSave<%=this.ClientID%>(arg) {
    if (arg == true) {
        $find('<%= FindControl("txtUser").ClientID %>').set_value("");
        return true;
    }
    else {
        var rdlUser = document.getElementById("<%= rdlUser.ClientID %>");
        var radioButtons = rdlUser.getElementsByTagName('input');
        radioButtons[3].checked = true;
        return false;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM