[C# .NET] Afficher un champ après un évènement [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 21 avril 2011
Statut
Membre
Dernière intervention
11 octobre 2011
-
Messages postés
5
Date d'inscription
jeudi 21 avril 2011
Statut
Membre
Dernière intervention
11 octobre 2011
-
Bonjour à tous,

J'ai créé un formulaire en C# (.net) et je voudrais faire en sorte que quand un utilisateur choisit dans ma dropdownlist le listItem "bidule", ça affiche une autre dropdownlist dans mon formulaire.

J'ai donc créé un évènement en double-cliquant sur ma dropDownList et voici le code généré et que j'ai complété :

- Dans mon .aspx :


    
    



- Dans mon .aspx.cs :
protected void type_SelectedIndexChanged(object sender, EventArgs e)
{
    info.Text = " Ca marche ! ";
    ListItem li = new ListItem("MEQ", "MEQ");

    if (type.SelectedItem == li)
    {
        cooling_data.Visible = true;
    }
}


Le problème c'est que je ne rentre jamais dans ma fonction SelectedIndexChanged(). Pourquoi ?

Cordialement,

3 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Bonjour,

Tout simplement parce que, par défaut, la modification d'une valeur d'un dropdownlist n'entraine pas de postback.
L'événement ne sera déclenché qu'on prochain postback: clic sur un bouton, submit du form, etc...

Pour ce faire, il te faut alors mettre la propriété AutoPostBack à "true":
Pour plus d'info, DropDownList.AutoPostBack.

Ce qui te donne l'ajout de la propriété à ton controle:

    
    


Bon développement,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Re,

Pour plus d'info sur un événement, n'hésite pas à regarder la msdn: DropDownList.SelectedIndexChanged.
Comme écrit: "Occurs when the selection from the list control changes between posts to the server.".
Cela signifie que l'événement n'est déclenché qu'en cas de modification d'inex entre deux posts serveur.

A contrario: le clic sur un bouton entraine un postback:
Button.Click.

A toi de faire un post ;p (avec l'AutoPostBack).
Comme écrit: "Occurs when the Button control is clicked."
Le postback est déclenché automatiquement par défaut sur le click du bouton.

Bonne soirée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
5
Date d'inscription
jeudi 21 avril 2011
Statut
Membre
Dernière intervention
11 octobre 2011

Ca marche, merci beaucoup !

Cordialement,