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 :

Création controle dynamique


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut Création controle dynamique
    Bonjour,

    je souhaiterai ajouter des contrôle dynamiquement lors d'un clique sur un bouton en ASP.NET
    Lors du premier click, celui-ci est bien ajouté mais lors du deuxième clique ma liste de contrôle est vidée et
    donc il n'y a toujours qu'un contrôle d'insérer. Comment puis-je faire ?
    Code ASP.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ajaxToolkit:TabPanel ID="TabPanel2" runat="server" HeaderText="Mesures existantes contre les risques" ForeColor="black">
                <ContentTemplate>
                    <asp:Button ID="btAjMesure" runat="server" Text="Ajouter une mesure" OnClick="btAjMesure_Click" /><br />
                    <asp:PlaceHolder ID="ctrl" EnableViewState="false" runat="server">
     
                    </asp:PlaceHolder>
                </ContentTemplate>
            </ajaxToolkit:TabPanel>

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Protected Sub btAjMesure_Click(sender As Object, e As EventArgs)
            Dim tb As TextBox = New TextBox
            tb.TextMode = TextBoxMode.MultiLine
            ctrl.Controls.Add(tb)
        End Sub
    En fait, dans c'est toujours réinitialisé à 0

  2. #2
    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 voila un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                    If prod.Promo.Count > 0 Then
                        For Each p In prod.Promo
                            Dim LbPromo As New Label
                            LbPromo.Text += "<span class='badge badge-primary'>" & p.Promotion.Promo_Nom & " " & Format((prod.Prod_Prix - ((prod.Prod_Prix * p.Promotion.Promo_Valeur) / 100)), "###.00 €") & "</span></br>"
                            LbPromo.Attributes("title") = p.Promotion.Promo_Desc
                            LbPromo.Attributes("data-toggle") = "tooltip"
                            LbPromo.Attributes("data-placement") = "top"
                            LbPromo.CssClass = "h2"
                            PanelPromo.Controls.Add(LbPromo)
                        Next
                    End If

  3. #3
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    Bonjour,
    merci pour ta réponse.

    je réussis à créer mes contrôles dynamiquement dans un placeholder. Cependant, lors de l'ajout je met un literalControle pour avoir un retour à la ligne. Le premier est prist en compte mais pas le deuxième.
    voici mon exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
         <div style="float:left;">
                                        <asp:PlaceHolder ID="placeHolderMesure" runat="server"  EnableViewState="false">
     
                                        </asp:PlaceHolder>
                                        </div>
    et dans mon postback :
    Code VB.NET : 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
     If Session("nbMesure") IsNot Nothing Then
                    Integer.TryParse(Session("nbMesure").ToString, nbMesure)
                    Dim lstMsr As List(Of Mesure) = CType(Session("lstMesureAj"), List(Of Mesure))
     
                    If Integer.TryParse(Session("nbMesure").ToString(), nbMesure) Then
                        'If String.IsNullOrEmpty(s) Then
                        nbMesure += 1
                        Session("nbMesure") = nbMesure
                        'End If
     
                        For i As Integer = 0 To nbMesure - 1
                            Dim msr As Mesure = Nothing
                            'TODO : ajouter textbox pour commentaire de la mesure
                            Dim tbTitreMesur As TextBox = New TextBox()
                            Dim tbExpl As TextBox = New TextBox()
                            Dim btsup As Button = New Button()
                            Dim tbCommentaire As TextBox = New TextBox()
                            Dim lit As LiteralControl = New LiteralControl("<br />")
     
                            If lstMsr IsNot Nothing Then
                                If lstMsr.Count > 0 AndAlso i <= lstMsr.Count - 1 Then
                                    msr = lstMsr(i)
                                End If
                            End If
     
                            tbCommentaire.ID = "textareaCom" & i & "_" & i
                            tbCommentaire.TextMode = TextBoxMode.MultiLine
                            tbCommentaire.Width = 200
                            tbCommentaire.Height = 300
                            tbExpl.ID = "textarea" & i & "_" & i
                            tbExpl.TextMode = TextBoxMode.MultiLine
                            tbExpl.Width = 200
                            tbExpl.Height = 300
                            tbTitreMesur.ID = "textbox" & i & "_" & i
                            If msr IsNot Nothing Then
                                tbTitreMesur.Text = msr.Titre
                                If _descrMesure.Count > 0 AndAlso _descrMesure.Count < i Then
                                    tbExpl.Text = _descrMesure(i) 'msr.Description
                                End If
                            End If
                            btsup.Text = "supprimer"
                            btsup.CssClass = "linkButton_button"
                            btsup.Font.Size = 11
                            btsup.ForeColor = Drawing.Color.Red
                            btsup.ID = "btsup" & i & "_" & i
                            AddHandler btsup.Click, AddressOf Me.btSupClick
     
                            placeHolderMesure.Controls.Add(tbTitreMesur)
                            placeHolderMesure.Controls.Add(btsup)
     placeHolderMesure.Controls.Add(lit)
                            placeHolderMesure.Controls.Add(tbExpl)
     
                            placeHolderMesure.Controls.Add(tbCommentaire)
                            placeHolderMesure.Controls.Add(lit)
                        Next i
                    End If
                End If
    j'obtiens ceci : voir le printscreen en pièce jointe.
    J aimerai qu apres mon bouton supprimer il y ait aussi un retour à la ligne mais cela n'est pas fait.
    Comment puis-je faire ?
    D'avance merci car j'ai vachement un peu de mal.
    Images attachées Images attachées  

  4. #4
    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
    tu as essayé de créer un 2ème litteral au lieu de reprendre le même

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/11/2014, 09h44
  2. [Etats] Création de controle "dynamiquement" en VBA
    Par PetitOursBelge dans le forum IHM
    Réponses: 10
    Dernier message: 05/02/2008, 13h52
  3. Création de controle dynamique
    Par zooffy dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/08/2007, 15h45
  4. Création de control dynamiquement
    Par nkonito dans le forum ASP.NET
    Réponses: 7
    Dernier message: 13/04/2007, 09h59
  5. [API Win32] Création de controles dynamiques
    Par Fabllot dans le forum Windows
    Réponses: 7
    Dernier message: 22/03/2007, 16h45

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