User control dynamique et Viewstate - C#/.NET managed - Programmation
Marsh Posté le 18-07-2005 à 14:42:34
on peut voir le code ?
Marsh Posté le 18-07-2005 à 15:24:35
nraynaud a écrit : on peut voir le code ? |
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dim c1 As UserControl = LoadControl("MyControls.ascx" )
PlaceHolder1.Controls.Add(c1)
End If
End Sub
C est tout con mais quand je clic sur un bouton, ma page se recharge et le usercontrol qui était dans le PlaceHolder a disparu. Donc soit il faut empécher la page de se recharger mais je doute que ca soit la bonne solution soit une option m a échappée. J'ai bien fait attention, toutes les propriétés enableviewstate de mes controles sont à true. Là je bloque.
Marsh Posté le 18-07-2005 à 15:37:47
c'est dans le on_click() du bouton que tu dois ajouter le contrôle. Inutile de toucher à cette méthode on_load.
Marsh Posté le 18-07-2005 à 15:55:59
je veux bien mais je rajoute chaque usercontrol sur l'évènement clic de mon usercontrol donc il faut bien que j en place déjà un dans mon PlaceHolder au load de la page.
Ensuite quand je clic sur mon usercontrol et que je cherche a rajouter un controle dans le PlaceHolder, la page se recharge et tout ce qui était dans le PlaceHolder est perdu.
Marsh Posté le 18-07-2005 à 16:04:35
ah oui ... ben tu enregistres le même handler pour tous les contrôles lors de leur création, et tu fais la différence sur la source de l'évènement ?
Marsh Posté le 18-07-2005 à 16:53:31
pour l instant j en suis juste a l ajout d un seul controle dynamique qui tient sur le refresh de la page mais j y arrive pas alors pour récupérer les évènements des controles créés on verra plus tard.
J ai vu plusieurs topic sur le viewstate mais ca me dit pas comment m en servir. Enfin bref, je suis perdu, rien ne marche.
Marsh Posté le 18-07-2005 à 18:09:34
ben oublie le viewstate pour l'instant, c'est pas nécessaire.
Par contre, tu DOIS maîrtriser les évènements, c'est la base des interfaces utilisateur.
Marsh Posté le 18-07-2005 à 18:19:32
c est bon pour le viewstate, j ai trouvé la solution, j ai galéré dans plusieurs direction mais j ai fini par trouvé ce qu il me fallait dans la doc de .net
Code :
|
Par contre maintenant j arrive plus a avoir mes évènements. En statique ca va mais maintenant que c est dynamique c est un peu plus difficile.
Marsh Posté le 18-07-2005 à 18:35:44
je jette l'éponge
Marsh Posté le 22-07-2005 à 12:35:08
Pour que les évenements fonctionnent, spécifie l'ID de tes UserControls chargés dynamiquement. Sinon l'ID va changer à chaque Postback et tes evenements ne fonctionneront pas.
Marsh Posté le 17-01-2004 à 10:52:08
Voila, j'ai un probleme sur une page ASPX. Je souhaite instancier dynamiquement un nombre indefini du meme user control suite a un evenement de clic et les afficher.
Or, mon probleme, c'est si je reposte ma page, mes users control disparaissent, le viewstate ne les conserve pas!!!! (le repost de la page est suite a un autopostback d'un dropdownlist sur ce user control).
Comment faire?
Merci