Comment : rechercher des contrôles enfants par ID dans une page Web ASP.NET
Mise à jour : novembre 2007
Vous pouvez obtenir une référence à un contrôle spécifique à l'aide d'une méthode qui recherche l'ID du contrôle dans son conteneur de dénomination (naming container).
Pour localiser un contrôle à l'aide de son ID
Appelez la méthode FindControl du conteneur de dénomination en lui passant une chaîne contenant l'ID du contrôle que vous souhaitez utiliser. La méthode retourne un objet de type Control, pour lequel vous pouvez effectuer un cast en type approprié.
L'exemple de code suivant montre comment localiser un contrôle spécifique. L'exemple est un gestionnaire de l'événement Click d'un bouton contenu dans un contrôle GridView. Lorsque l'utilisateur clique sur le bouton, le code recherche un contrôle nommé Label1 dans l'élément GridView en cours, qui est le conteneur de dénomination du contrôle Label. Si le contrôle est trouvé, son texte s'affiche ailleurs dans la page dans un deuxième contrôle Label nommé LabelText.
Protected Sub GridView1_ItemCommand(ByVal source As Object, _ ByVal e As GridViewCommandEventArgs) _ Handles GridView1.ItemCommand Dim l As Label l = CType(e.Item.FindControl("Label1"), Label) If (Not l Is Nothing) Then LabelText.Text = l.Text End If End Sub
protected void GridView1_ItemCommand(object source, GridViewCommandEventArgs e) { Label l; l = (Label) e.Item.FindControl("Label1"); if(!(l == null) ){ LabelText.Text = l.Text; } }