Bonjour à tous !

Ce Forum m'as déja Sorti de Bien des Galères mais c'est la première fois que je Poste ( c'est vous dire si je suis dans la tourbe )

Pour Expliquer le contexte , je developpe actuellement une application Asp.net destinée à la gestion d'une banque de scripts.
Aucune Base de Données, seulement des Fichiers XML Normalisées qui configurent chaque sous application.
De Manère Dynamque, j'utilise un systeme de classes permettant de générer un Formulaire composé de Controles Créés à la Volée puis insérés dans un Panel.

Voila le Probleme : je ne parviens pas à rececuperer les Valeurs de mes TextBoxes au PostBack, et mon Panel est vidé et reinitialisé automatiquement.

je m'explique donc sur mon code :

Voila la Fonction de Parsing XML ( qui fonctione parfaitement)

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
Public Function PanelOrganiser(ByVal NameFile As String, ByVal xPanel As Panel)
        Dim TxtID As Integer = 1
        Dim noeud, noeudEnf As XmlNode
        Dim PartXML As XmlNodeList
        Dim XmlFile As XmlDocument = XmlLoading(NameFile)
        PartXML = XmlFile.DocumentElement.GetElementsByTagName("line")
 
        'on parse le fichier XML
        For Each noeud In PartXML
            For Each noeudEnf In noeud.ChildNodes
 
                If noeudEnf.LocalName = "txt" Then
                    Dim txt As New TextBox
                    txt.ID = "txt" & TxtID
                    txt.Attributes("runat") = "server"
                    xPanel.Controls.Add(New LiteralControl("- " + noeudEnf.InnerText + " :    "))
                    xPanel.Controls.Add(txt)
                    TxtID = TxtID + 1
                    txt.Dispose()
                End If
 
            Next
            xPanel.Controls.Add(New LiteralControl("<br>"))
        Next
 
        xPanel.Visible = True
 
        Return 1 ' pour les controles d'erreur
    End Function
Evidament , j'ai allégé le code pour se limiter à la prise en charge de mes Textboxes.

Du Codé du code de la Page, la liste des Applis disponibles sont gerées par un Treeview. Sur l'evenement de selection d'un Noeud, le Formulaire de l'appli slectionée se charge.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.SelectedNodeChanged
 
 
        ' evenement de selection d'une appli.
        If TreeView1.SelectedNode.Text <> "Applications" Then
            MyAppli.ParseXML(TreeView1.SelectedNode.Text)  'Construction d'un Objet a partir du Fichier XML
            Page.Title = "Application : " & MyAppli.GetAppliName
            LblAppliname.Text = MyAppli.GetAppliName
            MyAppli.PanelOrganiser(TreeView1.SelectedNode.Text, PanelAppli) ' Appel de la Fonction de Remplissage du Panel
 
 
        End If
    End Sub
a cet evenement, tout se passe bien.

un exemple de code que je comptais utiliser pour recuperer les Valeurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Dim obj As Object
For Each obj In PanelAppli.Controls
      ' if pour Textbox
      Tableau =  obj.text ' enregistrement des données dans un Tableau mis en memoire dans l'objet d'application
 
Next
Voila donc ou cela ne focntione pas.
quelque soit l'evenement de lancement de ce code, le contenu des Textboxes n'est pas Sauvegardé dans mon Objet.
je ne parviens pas à rendre persistant le contenu de mon Panel , meme en activant le Viewstate...
Cela fait plusieurs Jours que je suis dessus et ca commence à Fumer

j'attends avec impatience vos Idées