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 Ajax Discussion :

Ajax AccordionPane et DropDownList


Sujet :

ASP.NET Ajax

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2010
    Messages : 7
    Par défaut Ajax AccordionPane et DropDownList
    Bonjour tous le monde,

    Voici mon probleme, J'ai un petit formulaire dans un AccordionPane avec un DropDownList, une textbox et un bouton. J'essaye de recuperer la valeur de SelectedItem.Value lors de l'event OnClcik() du bouton.

    Le probleme est que bizarement il me retourne toujours le 1er Item et non celui qui est selectionne?!? Je me demande si cela ne serait pas du au control AJAX (que je ne maitrise pas vraiment ).

    Voici le code...

    etudiant.aspx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <myAjax:Accordion runat="server" 
                                  ID="myAcc" 
                                  HeaderCssClass="HeaderCSS" 
                                  HeaderSelectedCssClass="HeaderSelectedCSS" 
                                  ContentCssClass="ContentCSS" 
                                  AutoSize="None">
                    <Panes>
                        <myAjax:AccordionPane runat="server" id="myAccPane1">
                            <Header>Cours inscrit</Header>
                            <Content>
                                <asp:Literal ID="litCours" runat="server"></asp:Literal>
                            </Content>
                        </myAjax:AccordionPane>
                        <myAjax:AccordionPane runat="server" id="myAccPane2">
                            <Header>Liste des cours</Header>
                            <Content>
                                <table>
                                   <tr>
                                        <td>Cours : </td>
                                        <td><asp:DropDownList ID="ddlList" runat="server"></asp:DropDownList></td>
                                   </tr>
                                   <tr>
                                        <td>Numero de carte : </td>
                                        <td><asp:TextBox ID="txtCarte" runat="server"></asp:TextBox></td>
                                        <td><asp:RegularExpressionValidator runat="server"
                                                                        id="carteVal"
                                                                        ErrorMessage="Numero incorrect"
                                                                        ControlToValidate="txtCarte"
                                                                        ValidationExpression="^(\d{4}-){3}\d{4}$|^(\d{4} ){3}\d{4}$|^\d{CssClass="tooltip"
                                                                        Display="Dynamic">
                                        </asp:RegularExpressionValidator></td>
                                   </tr>
                                   <tr>
                                        <td></td><td align="right"><asp:Button ID="btnCommand" Text="Commander" OnClick="btnCommand_Click" runat="server" /></td>
                                   </tr>
                                </table>
                            </Content>
                        </myAjax:AccordionPane>
    et etudiant.aspx.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    public partial class etudiant : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (Session["status"] != null)
                {
                    if (Session["status"].ToString() != "etudiant")
                    {
                        Response.Redirect("../errors/noauth.aspx", true);
                    }
                }
                else
                {
                    Response.Redirect("../errors/noauth.aspx", true);
                }
     
                this.LoadlitCours();
                this.LoadDdlList();             
            }
     
       protected void btnCommand_Click(object sender, EventArgs e)
            {
                validate service = new validate();
                string val = service.Validate(txtCarte.Text);
     
                if (val ==  "error")
                {
                    litMsg.Text = "Votre numero de carte doit commencer par 3, 4 ou 5.";
                }
                else
                {
                    OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("../req/eel.accdb"));
                    con.Open();
     
                    string[] newCours = ddlList.SelectedItem.Value.Split(' ');
     
                    OleDbCommand command = new OleDbCommand("INSERT INTO UsersCours(IdUsers, IdCours) VALUES(?, ?)", con);
                    command.Parameters.AddWithValue("IdUsers", Session["id"].ToString());
                    command.Parameters.AddWithValue("IdCours", newCours[0]);
     
                    if (command.ExecuteNonQuery() != 1)
                    {
                        litMsg.Text = "Erreur, veuillez reessayer!";
                    }
                    else
                    {
                        Page page = HttpContext.Current.Handler as Page;
                        string msg = "Achat reussi avec une carte " + val;
                        if (page != null)
                        {
                            ScriptManager.RegisterStartupScript(page, page.GetType(), "Achat effectue", "alert('" + msg + "');window.location='../req/etudiant.aspx';", true);
                        }
                    }
                    command.Dispose();
                    con.Close();  
                }
            }
        }
    }
    Donc rien de bien special. Je remplis mon DropdownList avec le resultat d'une requete... J'ai teste en dehors du AccordionPane et cela fonctionne bien?!

    Le probleme semble etre que le controle AJAX se refresh lors du OnClick du bouton et avant que le code de l'event soit executer donc lorsque je recupere SelectedItem je suis au 1er Item.

    Comment je pourrais faire pour recuperer le SelectedItem avant le refresh du control AJAX?

    Merci par avance

    Dominic

  2. #2
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2010
    Messages : 7
    Par défaut
    Le probleme ne venait pas du tout du Ajax Control toolkit mais uniquement du fait que je ne testais pas si !Page.IsPostBack dans le Page_Load().

    Si cela peu aider quelqu'un

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

Discussions similaires

  1. Ajax Popup avec Dropdownlist dynamique
    Par Nonos421 dans le forum ASP.NET Ajax
    Réponses: 2
    Dernier message: 12/05/2011, 08h15
  2. [AJAX] PopUp & DropDownList
    Par ToxiZz dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/10/2009, 19h48
  3. [AJAX] Index d'une Dropdownlist & AJAX
    Par mappy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/01/2007, 10h48
  4. [C#][AJAX] Accéder aux DropDownlist d'une table HTML
    Par actarus108 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 27/10/2006, 11h38
  5. Cherche DropDownList Ajax
    Par seb.49 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 23/05/2006, 20h30

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