我想验证两个复选框,其中一个必须被选中以使表单有效。我想使用CustomValidator控件,在服务器端进行验证。
(这个.ascx页面是在另一个.aspx页面上显示的表单。)
首先,在我的.ascx页面上放置了复选框和一个CustomValidator控件。像这样:
<tr>
<td colspan="3">
<input type="checkbox" runat="server" name="EmailCourse" class="" id="EmailCourse" value="" />
Email course
<asp:CustomValidator id="CustomValidator1" runat="server" ErrorMessage="No checkbox checked"
OnServerValidate="validateCheckBoxes_ServerValidate">
</asp:CustomValidator>
</td>
</tr>
<tr>
<td colspan="3">
<input type="checkbox" runat="server" name="SpecialReport" class="" id="SpecialReport" value="" />
Special report
</td>
</tr>
然后,我在代码后台(.ascx.cs页面)中添加了validateCheckBoxes_ServerValidate函数,就像这样:
protected void validateCheckBoxes_ServerValidate(object source, ServerValidateEventArgs args)
{
if (!EmailCourse.Checked && !SpecialReport.Checked)
args.IsValid = false;
else
args.IsValid = true;
}
当我尝试打开使用此表单的页面以查看其外观时,我遇到了一个错误,如下所示:
描述:在为处理此请求所需的资源进行编译时发生错误。请查看以下具体错误详细信息并相应地修改您的源代码。
编译器错误消息:CS1061:'ASP.common_controls_specialreportform_ascx'不包含“validateCheckBoxes_ServerValidate”的定义,并且没有扩展方法接受类型为“ASP.common_controls_specialreportform_ascx”的第一个参数(是否缺少使用指令或程序集引用?)
还有:
error CS1061:'ASP.common_controls_specialreportform_ascx'不包含“validateCheckBoxes_ServerValidate”的定义,并且没有扩展方法接受类型为“ASP.common_controls_specialreportform_ascx”的第一个参数(是否缺少使用指令或程序集引用?)
有人知道这个错误的原因吗?我是asp.net的新手,对此感到困惑。
谢谢!