自定义验证无法在更新面板中使用

时间:2014-11-19 05:03:46

标签: c# asp.net custom-controls

我已在aspx文件中为复选框列表创建了自定义验证,如

<asp:UpdatePanel ID="pnlUpdateAgency" runat="server">
     ....
     .... 
    <script type="text/javascript">

        function validateCheckbox(sender, e) {
            try {
                e.IsValid = false;

                var checkboxlist = document.getElementById('chklLineOfAuthority');
                var inputlist = checkboxlist.getElementsByTagName('input');

                for (var i = 0; i < inputlist.length; i++) {
                    if (inputlist[i].type == 'checkbox')
                        if (inputlist[i].checked) {
                            e.IsValid = true;
                            break;
                        }
                }
            }
            catch (ex) {
                alert(ex.Message);
            }
        }    
    </script>
    ...
    ...
    <asp:CheckBoxList ID="chklLineOfAuthority" RepeatColumns="3" RepeatLayout="Table"
         RepeatDirection="Horizontal" AutoPostBack="false" CausesValidation="false" 
         runat="server">
    </asp:CheckBoxList>
    <asp:CustomValidator ID="CustomValidator1" runat="server" 
         ErrorMessage="Please select at least one option" 
         ClientValidationFunction="validateCheckbox" 
         ForeColor="Red" />
    ...
    ...
</asp:UpdatePanel>

现在问题是自定义验证在更新面板中无效。

0 个答案:

没有答案