J'ai un programme où j'utilise un popup modal qui permet à l'utilisateur d'ajouter de nouveaux éléments à une base de données, cela fonctionne très bien, mais je voudrais ajouter une validation. Par exemple lorsqu'une exception est levée en raison d'une entrée en double. J'ai regardé à travers quelques exemples sur la façon d'utiliser le contrôle de validation personnalisé asp.net.validation côté serveur sur ajax modal popup extender
Le problème est que dès que l'événement de validation se déclenche, le popup modal disparaît à cause de la publication.
<asp:Panel ID="panComp" runat="server" Height="180px" Width="400px" cssclass="ModalWindow">
<table width="100%">
<tr>
<td><asp:Label Text="Name" runat="server" /></td> <td><asp:TextBox ID="txtCompName" runat="server" />
<asp:CustomValidator ID="CustomValidator1" OnServerValidate="btnAddComp_Click" runat="server" ErrorMessage="Competency already exists" ControlToValidate="txtCompName" />
<cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" TargetControlID="CustomValidator1" />
</td>
</tr>
</table>
<br />
<asp:Button ID="btnAddComp" runat="server" Text="Add" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" />
</asp:Panel>
L'événement se déclenche comme il se doit et le ModalPopupExtender OnOkScript n'a pas une valeur
protected void btnAddComp_Click(object source, ServerValidateEventArgs args)
{
if (!String.IsNullOrEmpty(txtCompName.Text))
{
try
{
_ass.AddCompetency(txtCompName.Text);
args.IsValid = true;
}
catch (Exception)
{
args.IsValid = false;
}
}
}
Hrm Je pense que c'est la seule option que j'ai, merci;) – fluf
Cela a fait l'affaire merci: D – fluf