Bonjour
j'ai un soucis en asp.net.
J'aimerais qu'un bouton ait le comportement suivant :
Lorsque l'utilisateur clique dessus, le curseur passe en sablier et le bouton est disabled (le bouton lance un traitement de quelques secondes et �videmment les utilisateurs press�s aiment appuyer sur le bouton plein de fois pour que �a aille plus vite)
En fouinant sur le net, je suis arriv� � la solution suivante :
J'ai sous-class� Button et surcharg� la m�thode Render de la fa�on suivante:
et je set la propri�t� ClientScriptManager dans le PageLoad.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class MyBtCreate : System.Web.UI.WebControls.Button { private ClientScriptManager csm; public ClientScriptManager ClientScript { set { csm = value; } get { return csm; } } protected override void Render(HtmlTextWriter writer) { this.Attributes["onclick"] = "document.body.style.cursor = 'wait'; this.disabled = true; " + csm.GetPostBackEventReference(this, "", true) + ";"; base.Render(writer); } }
Ca fonctionne bien, � un b�mol pr�t, la validation caus� normalement par le bouton ne fonctionne plus.
J'ai 4 champs obligatoires et 4 contr�les RequiredFieldValidator qui vont avec, le clic sur le bouton les ignore depuis cette modification.
Je pensais qu'en mettant "true" en 3�me argument � mon GetPostBackEventReference() �a enclencherait la validation mais je ne suis pas sur d'avoir compris de quelle validation on parle ici.
Quelqu'un peut-il �clairer ma lanterne ?
Merci d'avance
Partager