Это такая же проблема обслуживания кода, как и проблема кода, но у меня есть WebForm, которая больше не проверяет его CustomValidator. Он работал, когда я последний раз касался кода более года назад, но теперь он больше не работает, когда пользователь запросил некоторые изменения ...
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>