代码之家  ›  专栏  ›  技术社区  ›  CPK_2011

RadioButtonList SelectedIndexChanged不每次触发

  •  0
  • CPK_2011  · 技术社区  · 8 年前

    我在asp。net用户控件。它有两个单选按钮“离开”和“可用”。单击休假时,我会显示SelectedIndexChanged事件的警报,显示为“您确定要休假吗?”带有确定和取消按钮。单击“取消”时,将自动选择“可用”。到目前为止,一切都很好。

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

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

    步骤3:现在它将再次工作。

    为此,我为该用户控件启用了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;
        }
    }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Blue    8 年前

    使用以下代码并告诉我结果

    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;
        }
    }