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

Résolu
Etinewok Messages postés 5 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 11 octobre 2011 - 10 oct. 2011 à 11:12
Etinewok Messages postés 5 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 11 octobre 2011 - 11 oct. 2011 à 11:53
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

billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
10 oct. 2011 à 17:43
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
---------------------
3
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
10 oct. 2011 à 17:48
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
---------------------
0
Etinewok Messages postés 5 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 11 octobre 2011
11 oct. 2011 à 11:53
Ca marche, merci beaucoup !

Cordialement,
0
Rejoignez-nous