Bonjour à tous...
Voici une question qui pourrait intéresser pas mal de monde... je m'explique...
J'ai une page default.aspx qui appelle 2 users controls (insciption à une newsletter et envoyer l'article a un ami, par ex).
Lorsque je clique sur un des boutons des 2 users controls, les validators des 2 users controls sont appelés alors que je n'ai rien programmé de tel.
Ma question est : Comment valider seulement un seul user control, ou alors comment désactiver les validators des users controls qui ne sont pas concernés?
Voici le code de ma page aspx: (simple appel des users controls)
default.aspx :
-----------
<%@ Page Language="VB" %>
<%@ Register TagPrefix="uc0" TagName="newsletter" Src="newsletter.ascx" %>
<%@ Register TagPrefix="uc0" TagName="envoyeraunami" Src="envoyeraunami.ascx" %>
<html>
<head>
</head>
<body>
<form runat="server">
<uc0:newsletter id="UserControl1" runat="server"/>
<br />
<uc0:envoyeraunami id="UserControl2" runat="server"/>
</form>
</body>
</html>
------------
Voici le code des 2 users controls (simple control de la saisie obligatoire d'un textbox et redirection vers une autre page)
newsletter.ascx :
----------------
<%@ Control Language="VB" %>
<script runat="server">
sub Button1Clicked (s As Object, e As EventArgs)
RequiredFieldValidator1.Validate()
if RequiredFieldValidator1.IsValid then
Response.Redirect ("newsletterok.aspx")
end if
end sub
</script>
<table width="100%" border="1">
<tbody>
<tr>
<td width="100%">
Newsletter</td>
</tr>
<tr>
<td width="100%">
E-Mail :
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server" Text="S'inscire" onclick="Button1Clicked"></asp:Button>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Vous devez entrer une adresse Mail"></asp:RequiredFieldValidator>
</td>
</tr>
</tbody>
</table>
envoyeraunami.ascx :
-------------
<%@ Control Language="VB" %>
<script runat="server">
sub Button2Clicked (s As Object, e As EventArgs)
RequiredFieldValidator2.Validate()
if RequiredFieldValidator2.IsValid then
Response.Redirect ("envoyeraunamiok.aspx")
end if
end sub
</script>
<table width="100%" border="1">
<tbody>
<tr>
<td width="100%">
Envoyer l'article a un ami</td>
</tr>
<tr>
<td width="100%">
E-Mail :
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
<asp:Button id="Button2" runat="server" Text="Envoyer" onclick="Button2Clicked"></asp:Button>
<asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="Vous devez entrer une adresse Mail" ControlToValidate="TextBox2"></asp:RequiredFieldValidator>
</td>
</tr>
</tbody>
</table>
------------
J'ai cherché partout une solution à ce problème, j'ai vu pas mal de fois la question posée sur des forums mais aucune réponse viable n'a été donné...
Merci d'avance...