2010-11-09 6 views
0

J'essaye d'obtenir un CompareValidator pour fonctionner mais avoir quelques problèmes. Si le bouton d'envoi n'exécute pas une fonction, cela fonctionne correctement, mais le validateur ne fonctionne pas si une fonction est associée au bouton.asp.net CompareValidator ne fonctionne pas comme prévu sur soumettre

Voici le code.

Sub myGo(sender As Object, e As EventArgs) 
    response.redirect("http://www.google.co.uk") 
End Sub 

et

<form runat="server"> 
<asp:TextBox id="txt1" runat="server" /> = <asp:TextBox id="txt2" runat="server" /> <asp:Button OnClick="myGo" Text="not working with onclick" runat="server" /> <asp:Button Text="working button" runat="server" /> 
<br /> 
<asp:CompareValidator EnableClientScript="false" id="compval" Display="dynamic" ControlToValidate="txt1" ControlToCompare="txt2" Type="String" Text="Validation Failed!" runat="server" /> 
</form> 

des idées?

+0

Si vous EnableClientScript, la validateur validerait avant de rediriger. Parce que vous redirigez dans codebehind, vous devez Page.Valider et vérifier Page.IsValid avant de vouloir rediriger dans Codebehind. Il est toujours recommandé de valider aussi sur le serveur car le javascript peut être désactivé. –

Répondre

2

Le validateur devrait fonctionner correctement, mais vous devriez probablement effectuer la redirection uniquement si la page est valide:

Sub myGo(sender As Object, e As EventArgs) 
    If Page.IsValid Then 
     Response.Redirect("http://www.google.co.uk") 
    End If 
End Sub 
0

Utilisez ValidationGroup = « .... »

+0

ce n'est pas le problème ... Frédéric a déjà mis le doigt sur la tête. – Tom

+0

ok mon mauvais, désolé. – Arief

Questions connexes