私はクライアント側のカスタム検証をしようとしています。私は私のaspxページに次のコードを持っているが、私はというエラーを取得しておくクライアント側のカスタムバリデーター
System.Web.HttpException(0x80004005が):コントロール「chkList_Counts」 「validationCheck」 が検証できないのControlToValidateプロパティで参照されます。 System.Web.UI.WebControls.BaseValidator.OnPreRenderで System.Web.UI.WebControls.CustomValidator.ControlPropertiesValid()で System.Web.UI.WebControls.BaseValidator.CheckControlValidationProperty(文字列 名、文字列プロパティ名)(で
で System.Web.UI.Control.PreRenderRecursiveInternal()でのEventArgs電子)私も自分のページを見ることができません。ページが表示される前にすぐにエラーが表示されます。
以下は私のコード
<div>
<asp:Panel ID="panel3" runat="server" CssClass="cis_edit_pnl"
GroupingText="Counts" Width="1240px">
<asp:CheckBoxList ID="chkList_Counts" runat="server"
RepeatDirection="Horizontal"
RepeatColumns="3" Width="1060px">
</asp:CheckBoxList>
<asp:CustomValidator ID="validationCheck" runat="server" ControlToValidate="chkList_Counts" ClientValidationFunction="check_checkBoxList" EnableClientScript="true" ErrorMessage="At least one of the check boxes should be checked">
</asp:CustomValidator>
</asp:Panel>
</div>
で、私のjavascriptの機能は、事前にこの
function check_checkBoxList(sender, args) {
debugger;
if (check_Counts() == false) {
args.IsValid = false;
return;
}
args.IsValid = true;
return;
}
function check_casrepCounts() {
var control;
control = document.getElementById("<%=chkList_Counts.ClientID %>").getElementsByTagName("input");
if (eval(control)) {
for (var i = 0; i < control.length; i++) {
if (control[i].checked == true)
return true;
}
return false;
}
}
おかげのようなものです。
「デバッガ」とは何ですか? – jrummell
これは役立ちますhttp://codeclimber.net.nz/archive/2007/07/19/How-to-add-a-required-validator-to-a-CheckBoxList.aspx – jrummell