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 :

Control dynamique et viewStat


Sujet :

ASP.NET Ajax

  1. #1
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut Control dynamique et viewStat
    Bonjour

    j'ai un accordion alimenté par une BD

    le ContentTemplate contient un DropDownExtender alimenter lors du Accordion1_ItemDataBound, quand je sélection un des item du DropDownExtender je met a jour comme prévu le Label affecté (TargetControlID).

    juque la tous va bien

    Mais si je sélectionne un des item d'un autre DropDownExtender le Label affecté a ce (TargetControlID) est bien mis à jour mais le Label du DropDownExtender précédent est réinitialisé.

    Comment conserver la valeur de chaque label ?

    je tourne en rond sans étincelles merci de votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    Un peu de ton code ça nous permet d'avoir un peu plus d'idées et ça nous permet de t'aider

  3. #3
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Bonjour et merci pour l'interet

    Côté 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
        <asp:Accordion ID="Accordion1" runat="server" DataSourceID="SDS1" HeaderCssClass="accordionHeaderMenu"
            HeaderSelectedCssClass="accordionHeaderSelectedMenu" Width="300" se>
            <HeaderTemplate>
                <div style="padding-top: 7px;">
                    <asp:Label ID="LBHeader" runat="server" Text='<%# Eval("Type_Nom") %>' />
                </div>
            </HeaderTemplate>
            <ContentTemplate>
                       <asp:Panel ID="Panel" runat="server" Width="300px">
                            <asp:Label ID="DDL" SelectType='<%# Eval("Type_Id") %>' runat="server" Text='<%# "Cliquez ici<br/>pour sélectionnez<br/>Votre " & Eval("Type_Nom") %>'
                                CssClass="ItemS" Width="270px" />
                            <asp:Panel ID="DDP" runat="server" ScrollBars="Vertical" CssClass="ContextMenuPanel">
                            </asp:Panel>
                            <asp:DropDownExtender runat="server" ID="DDE" TargetControlID="DDL" DropDownControlID="DDP"
                                OnPreRender="DDE_PreRender" OnLoad="DDE_Load" />
                        </asp:Panel>
            </ContentTemplate>
        </asp:Accordion>
        <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:Label ID="LabelResult" runat="server" Text="Label"></asp:Label>
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:SqlDataSource ID="SDS1" runat="server" ConnectionString="<%$ ConnectionStrings:CSTurtleTest %>"
            SelectCommand="SELECT * FROM [Types]"></asp:SqlDataSource>
    Côté ASPX.vb

    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
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If IsPostBack Then
                Accordion1.DataBind()
            End If
        End Sub
        Protected Sub Accordion1_ItemDataBound(ByVal sender As Object, ByVal e As AjaxControlToolkit.AccordionItemEventArgs) Handles Accordion1.ItemDataBound
            Select Case e.AccordionItem.ItemType
                Case 0 ' Header
                Case 1 ' Content
                    Dim DDL As Label = CType(e.AccordionItem.FindControl("DDL"), Label)
                    If DDL.Attributes("SelectArt") Is Nothing Then
                        Dim DDP As Panel = CType(e.AccordionItem.FindControl("DDP"), Panel)
                        For Each item As Article In myClassArticle.GetArticleByType(e.Item("Type_Id"))
                            Dim LB As New LinkButton
                            LB.ID = "LB" & item.Article_Id
                            LB.Text = "<div style='text-align: left; clear:both;'>" &
                                        "<div style=' float:left; margin-left:3px; margin-top:3px; margin-right:10px;'>" &
                                       "<img src='Images/" & item.Article_Image & "' style='vertical-align:middle; border: 0; Width:50px;'/> " &
                                       "</div>" &
                                       "<div style='display: block; white-space: pre-line; padding-left:5px; padding-top:1px; padding-right:5px; margin:0px;'><b>" & item.Article_Nom &
                                       "</b><br />" &
                                       item.Article_Info &
                                       "<br/>" &
                                       item.Article_Prix &
                                       "</div></div>"
                            LB.CommandArgument = item.Article_Id
                            LB.CssClass = "ContextMenuItem"
                            AddHandler LB.Click, New EventHandler(AddressOf LB_Click)
                            DDP.Controls.Add(LB)
                        Next
                    End If
            End Select
        End Sub
        Private Sub LB_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim DDL As Label = CType(sender.parent.parent.FindControl("DDL"), Label)
            DDL.Text = CType(sender, LinkButton).Text
            LabelResult.Text = LabelResult.Text & "/" & CType(sender, LinkButton).CommandArgument
        End Sub
    En priant pour que cela soit plus clair

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    J'ai pas bien compris que ce que tu veux : Est ce que tu cherche à enregistrer tous les valeurs du Label (TargetControlID) ? Tous les SelectedValue de ton DropDownExtender ??

  5. #5
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Oui l'objectif est de pouvoir récupérer la valeur de chaque dropdownextender

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    ok, c'est plus clair maintenant.
    je te propose d'utiliser le viewstate pour enregistrer les valeurs de ton dropdownextender (par exemple List<string>)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public List<string> MesValeurs
    {
    get{if(ViewState["Valeurs"] == null)
           return new List<string>();
         else
           return (List<string>) ViewState["Valeurs"];
    }
    set{ ViewState["Valeurs"] = value;}
    }
    et dans Accordion1_ItemDataBound :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List<string> Tmp = MesValeurs;
    Tmp.Add(lbl.Text); //lbl c ton TargertControlId
    MesValeurs = Tmp;
    Désolé, j'ai pas l'habitude de développer avec vb.net mais c# c'est pareil que vb.net. Le plus important que tu comprend le principe

  7. #7
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Super sympas je test cela et te fais un retour

  8. #8
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Encore merci pour cette leçon sur les viewstat ça marche

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    De rien

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

Discussions similaires

  1. [VB6]comment supprimer dynamiquement un controle dynamique?
    Par totor le troll dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/07/2011, 21h10
  2. [VB.NET] Contrôle dynamique et évènements
    Par johann.C dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/11/2009, 10h45
  3. [C#]control dynamique
    Par inferno dans le forum ASP.NET
    Réponses: 5
    Dernier message: 25/08/2006, 12h08
  4. Réponses: 6
    Dernier message: 18/04/2005, 21h12
  5. [VB6] creation et gestion de contrôle dynamique
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/04/2004, 00h09

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