[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:
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:
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:
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.