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)
Evidament , j'ai allégé le code pour se limiter à la prise en charge de mes Textboxes.
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
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.
a cet evenement, tout se passe bien.
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
un exemple de code que je comptais utiliser pour recuperer les Valeurs.
Voila donc ou cela ne focntione pas.
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
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![]()
Partager