这与代码问题一样是代码维护问题,但我有一个不再检查 CustomValidator 的 WebForm。一年多前我最后一次接触代码时它起作用了,但现在用户请求了一些更改,它不再起作用了......
WebForm 包含一个数据绑定下拉菜单,其中包含默认的“-All-”项,其值为 String.Empty。当用户单击提交按钮时,验证器应检查下拉列表的值是否不是 String.Empty。我在客户端验证代码和服务器验证代码中设置了断点,但都没有触发。
你会从哪里开始寻找?常见的嫌疑人是什么?当然,我已经将我的工作副本与源代码控制中的内容进行了比较,但没有任何可疑之处。
以防万一,这是我的代码:
<asp:DropDownList ID="_AssessmentDropDown" runat="server" DataSourceID="_AssessmentsData" CausesValidation="true" AutoPostBack="false"
DataTextField="AssessmentName" DataValueField="AssessmentName" OnDataBound="_HandleAssessmentsBound">
</asp:DropDownList>
<asp:CustomValidator ID="_AssessmentValidator" runat="server" ClientValidationFunction="_HandleValidateAssessment_Client"
ControlToValidate="_AssessmentDropDown" ErrorMessage="* You must select an Assessment."
OnServerValidate="_HandleValidateAssessment" />
<asp:ObjectDataSource ID="_AssessmentsData" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
TypeName="DataTableAdapters.GET_GRADE_ASSESSMENTSTableAdapter">
<SelectParameters>
<asp:ControlParameter Name="GRADECODE" ControlID="_GradeCodeDropDown" PropertyName="SelectedValue" />
</SelectParameters>
</asp:ObjectDataSource>