IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

RadioButtonList et SelectedIndexChanged


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2007
    Messages : 59
    Par défaut RadioButtonList et SelectedIndexChanged
    Bonjour a tous,

    J'aurais besoin d'une petite aide a propos du RadioButtonList.
    J'aimerais que lorsque je change l'index du RadioButtonList, un test soit fait avant de lancer ma fonction SelectedIndexChanged.

    Exemple:

    J'ai mis ce petit bout de code dans la fonction DataBound de mon RadioButtonList.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonRBL.Attributes.Add("OnChange", "if (confirm('Sure ?')) {" + Page.GetPostBackEventReference(((RadioButtonList)sender)) + ";}");
    La popup est lancee me demandant de confirmer ("Sure?"). Lorsque je clique sur OK, ma fonction SelectedIndexChanged est bien executee. Et si je clique sur cancel, elle ne l'est pas. Tout ce passe comme je le veux. Le seul ennui c'est que mon index dans mon RadioButtonList a change entre temps sur la valeur que j'ai clique. Comment puis-je annule cela?

    Merci d'avance

    saphir54321

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 207
    Par défaut
    Il est toujours possible de mettre l'index de ton élément sélectionné dans un hiddenfield et lorsque tu appuie sur cancel remettre l'index au bon endroit.

    Le problème viens du fait que lorsque on selectedindexchanged se produit ton nouvel élément est déjà sélectionné il faut donc remettre la valeur précédente ce qui ne devrait pas être trop compliqué avec l'utilisation d'un hiddenfield.

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2007
    Messages : 59
    Par défaut
    Merci pour ta reponse stroumfs.

    Je ne vois pas trop comment faire ce que tu me proposes...
    Et ou est ce que je m'occupe de remettre la valeur precedente.

    Dans ce bout de code je suppose?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonRBL.Attributes.Add("OnChange", "if (confirm('Sure ?')) {" + Page.GetPostBackEventReference(((RadioButtonList)sender)) + ";}");

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 489
    Par défaut
    C'est du JavaScript, donc côté client, donc pas d'objet Page etc.

    Là, c'est plus du .NET, mais du JavaScript.

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2007
    Messages : 59
    Par défaut
    Hehe, je sais bien. C'est juste que javascript et moi ....
    Pourrais-tu me montrer comment faire?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 207
    Par défaut
    Hehe je comprend très bien ce que tu veux dire ne t'en fait pas.

    Pour en revenir à la suggestion que je te proposais, il faut premièrement ajouter dans ta page un asp hiddenfield

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:HiddenField ID="HiddenFieldSelectedValue" runat="server" />
    <asp:RadioButtonList ID="RadioButtonList" runat="server"> </asp:RadioButtonList>
    Il suffit ensuite au chargement de ta page de mettre la valeur initiale dans ton hiddenfield:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    protected void Page_Load(object sender, EventArgs e)
    {
     HiddenFieldSelectedIndex.Value = RadioButtonList.SelectedIndex;
    }
    Finalement dans ta page même sur le même événement que tu utilisais tu ajoutes ta fonction javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function OnIndexChanged()
    {
      var hiddenfield = document.getElementById("<%= HiddenFieldSelectedIndex.ClientID %>");
      var radioButtonList = document.getElementById("<%= RadioButtonList.ClientID %>");
      if(!confirm(message))
      {
       radioButtonList.selectedIndex = hiddenfield .value;
      }
      hiddenfield.value = radioButtonList.selectedIndex;
    }
    Je ne suis pas certain à 100% de la méthode pour l'index de l'item côté client, mais pour le reste tout devrait fonctionner.

    J'espère que cela aura pu être utile .

    Je te souhaite une excellente journée!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Datagrid et SelectedIndexChanged de DropDownList
    Par Raduris dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/10/2006, 15h10
  2. [C#] Forcer le selectedIndexChange sur dropdownlist
    Par bl4ckwolf dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/06/2006, 14h22
  3. Réponses: 3
    Dernier message: 06/12/2005, 13h44
  4. [C#] RadioButtonList
    Par BiM dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/05/2005, 16h00
  5. [C#] Probleme avec DropDownList et SelectedIndexChange
    Par Oberown dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/02/2005, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo