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 :

[VB.NET] Erreur sur la creation dynamique d'une texbox


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [VB.NET] Erreur sur la creation dynamique d'une texbox
    Bonjour, j'ai une erreur qui est la suivante:

    Le control "lenom" de type 'Textbox' doit etre positionne dans une zone de formulaire avec runat = server.
    (en gros, car traduit de l'espagnol au francais)

    En fait j'ajoute tout simplement un textbox a un panel qui est situe sur ma webframe. Cet ajout, je le fais a partir d'une classe que j'ai cree.
    J'ai une classe generale qui me sert a initier l'ensemble de mes objets.
    Ma classe webform1 appelle donc ma classe generale pour l'initier.

    Il faut savoir aue pour l'ajout d'un label cela fonctionne parfaitement mais des que je veux ajouter un autre control, l'erreur ci dessus se presente.


    dans la classe webform1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Introducir aquí el código de usuario para inicializar la página
     
            Mod_Main.Main(Me)
     
     
            'OBJ_Paneles.Add(Panel)
     
     
     
        End Sub
    Module main qui est appele pour initier les objets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Module Mod_Main
        Public OBJ_Global As CLS_Global
     
        Public Sub Main(ByVal F As WebForm1)
            OBJ_Global = New CLS_Global
            OBJ_Global.Iniciar(F)
        End Sub
    End Module
    Classe generale qui affiche le controls:

    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
     
    Public Class CLS_Global
        Inherits System.Web.UI.Page
        Public OBJ_Paneles As Collection
        Public Frm As WebForm1
        Private droptest As DropDownList
        Public tructest As TextBox
        'Protected WithEvents PlaceHolder1 As PlaceHolder
     
     
     
        Public Function Iniciar(ByVal F As WebForm1) As Boolean
            Frm = F
     
            Dim Bigtab As Table
            Bigtab = New Table
            Bigtab.Width = New Unit(FormatPercent(1))
            Bigtab.Height = New Unit(FormatPercent(1))
            'Primera linea del tab
            ''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
            Dim R2 As New TableRow
            Dim C21 As New TableCell
            Dim C22 As New TableCell
     
            C21.Width = New Unit(FormatPercent(0.4))
            C21.Height = New Unit(FormatPercent(1))
     
            tructest = New TextBox
            tructest.Text = "coucou"
     
            C21.Controls.Add(tructest)
            R2.Cells.Add(C21)
     
            Bigtab.Rows.Add(R2)
            ''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
            Bigtab.Visible = True
            Frm.Controls.Add(Bigtab)
     
     
        End Function
    End Class

    Voila un bon petit code vaut mieux que de longues explication.
    J'espere que quequ'un pourra m'aider, merci.

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En fait, j'ai besoin de savoir comment creer un control dynamiquement avec la propriete runat = server. Visiblement le fait d'avoir
    form runat= server ne suffit pas.

  3. #3
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Points : 128
    Points
    128
    Par défaut
    perso je mettrai un placeholder dans la cellule et ensuite ajouterai la Textbox.

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    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
     
    Public Function Iniciar(ByVal F As WebForm1) As Boolean
            Frm = F
            Placeholdertab = New PlaceHolder
     
            Dim Bigtab As Table
            Bigtab = New Table
            Bigtab.Width = New Unit(FormatPercent(1))
            Bigtab.Height = New Unit(FormatPercent(1))
     
            Dim R2 As New TableRow
            Dim C21 As New TableCell
     
            C21.Width = New Unit(FormatPercent(0.4))
            C21.Height = New Unit(FormatPercent(1))
     
     
            PlaceHolderdrop = New PlaceHolder
     
            droptest = New System.Web.UI.WebControls.DropDownList
            droptest.ID = "coucou"
            droptest.AutoPostBack = True
            PlaceHolderdrop.Controls.Add(droptest)
     
            C21.Controls.Add(PlaceHolderdrop)
            R2.Cells.Add(C21)
     
            Bigtab.Rows.Add(R2)
            '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
            Bigtab.Visible = True
            Placeholdertab.Controls.Add(Bigtab)
            Frm.Controls.Add(Placeholdertab)
     
     
        End Function
    Voila ce que g modifie, j'ai rajoute un placeholder dans la cellule et commeca ne marchait pas j'en ai aussi ajoute un pour le tableau en entier.
    Il semblerai que ca plante a partir du moment ou je veux ajouter le tableau dans ma webform.

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bon ca y est g pipe comment ca marche, c le genre de chose aui est bonne a savoir avant de commencer a creer des objets dynamiquement sinon on a vite fait de perdre deux journees pour rien:

    En fait le code est bon si ce n'est qu'il faut avoir une sorte de conteneur pour stocker ses controls. Effectivement pourquoi pas un placeholder, mais ce que personne ne dit c qu'il faut le cree sur la webform elle meme en utilisant le module de design de visual studio .net.
    Car si on le genere dynamiquement de la meme facon que l'on cree les autres control, et bien l'erreur est la meme.

    Au final, j'ai donc simplement cree un panel bidon qui prend toute ma webform pour pouvoir ajouter les webcontrols que je voulais.
    J'espere que ma perte de temps servira a d'autres. Merci encore a ceux qui ont tenter de m'aider.

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

Discussions similaires

  1. [VB.NET]évènement sur un controle dynamique
    Par Tunisiano87 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/11/2010, 03h29
  2. ASP/VB.NET question sur tableau créé dynamiquement
    Par julygou dans le forum ASP.NET
    Réponses: 1
    Dernier message: 05/08/2008, 10h05
  3. [VB.NET] Erreur sur une page
    Par Azephel dans le forum ASP.NET
    Réponses: 8
    Dernier message: 13/04/2007, 09h01
  4. [VB.NET] erreur sur msgbox
    Par malhivertman1 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 08/09/2006, 13h35
  5. [VS.NET] Erreur de server - creation d'un projet impossible
    Par Pepito dans le forum Framework .NET
    Réponses: 2
    Dernier message: 08/12/2005, 13h15

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