Написание собственного валидатора для выпадающего списка, использующего автопостбэк. Кажется, что он вообще игнорирует проверку. Почему это игнорируется и есть ли простое решение?
Примечание. Я не использовал ControlToValidate.
asp.net:
<asp:UpdatePanel ID="updatePanel" runat="server" UpdateMode="Conditional" Visible="true" RenderMode="Inline">
<ContentTemplate>
<asp:DropDownList ID="ddlCommandAssign" runat="server" AutoPostBack="true">
</asp:DropDownList>
<asp:CustomValidator id="val_command_assigned" runat="server"
ErrorMessage="* "
display="Static"
OnServerValidate="commandAssigned"
/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCommandAssign"
EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
За кодом:
Sub commandAssigned(ByVal source As Object, _
ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
Dim s As String
s = ddlCommandAssign.SelectedValue
'if s = "1" then
' args.IsValid = true
'else
' args.IsValid = False
'end if
args.IsValid = False
End Sub
В целях отладки я хочу, чтобы он каждый раз терпел неудачу.
Кажется, он вообще не выполняет код позади.
Для отладки я добавил строку response.redirect("dummy.html") ..., которая никогда не вызывается, что также указывает (я думаю), что валидатор никогда не вызывается.