我正在尝试验证两个复选框。必须检查其中之一才能使表格有效。我想使用 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”的定义,并且没有扩展方法“validateCheckBoxes_ServerValidate”接受“ASP.common_controls_specialreportform_ascx”类型的第一个参数(您是否缺少 using 指令或装配参考?)
和:
错误 CS1061:“ASP.common_controls_specialreportform_ascx”不包含“validateCheckBoxes_ServerValidate”的定义,并且没有可以找到接受“ASP.common_controls_specialreportform_ascx”类型的第一个参数的扩展方法“validateCheckBoxes_ServerValidate”(您是否缺少 using 指令或程序集引用? )
有谁知道这个错误的原因是什么?我是 asp.net 的新手,遇到了麻烦。
谢谢!