FAQ ASP.NET/C#Consultez toutes les FAQ

Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 22 septembre 2007 

 
OuvrirSommaireWebFormsContrôlesContrôles serveur (WebControl)Contrôles standardsCheckBox

Imaginons un asp:checkbox et une fonction javascript cliente qui affiche si la case est cochée ou non.
On pourrait être tenté de faire :

 
Sélectionnez
<asp:CheckBox runat="server" Text="Cochez moi" onchange="alert(this.checked);" />

sauf que ceci ne va pas marcher, en effet asp.net génère :

 
Sélectionnez
<span onchange="alert(this.checked);"><input id="ctl02" type="checkbox" name="ctl02" /><label for="ctl02">Cochez moi</label></span>>

on se rend compte que le onchange est appliqué au span.
Comment faire alors pour agir sur l'input de type checkbox ?
Il faudra passer par le code behind :

 
Sélectionnez
MonCheckbox.InputAttributes.Add("onchange", "alert(this.checked);");

et cette fois-ci, asp.net génèrera :

 
Sélectionnez
<input id="MonCheckbox" type="checkbox" name="MonCheckbox" onchange="alert(this.checked);" /><label for="MonCheckbox">Cochez moi</label>

NB : les attributs du label seront accessibles grâce à LabelAttributes.

Créé le 10 mars 2008  par nico-pyright(c)
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Dotnet Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.