Recuperer les infos d'un UserControl au changement de page - C#/.NET managed - Programmation
Marsh Posté le 02-03-2010 à 13:09:12
Et j'ai un des UserControl qui au moment d'etre chargé provoque cette erreur:
Citation : Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. |
C'est du a quoi ?
Marsh Posté le 02-03-2010 à 17:20:08
C'est crade mais expéditif et efficace : si tu n'as qu'un contrôle à générer dynamiquement, tu ne peux pas mettre en statique toutes les possibilités et afficher le bon via un switch ? Tu n'as pas 50 contrôles possibles j'imagine !
Marsh Posté le 02-03-2010 à 17:29:31
J'en ai 14 malheureusement...
Marsh Posté le 02-03-2010 à 17:30:42
C'est tout un enchainement de dialogues dont le contenu des pages est dans des UC. Le but c'est avec les UpdatePanel d'Ajax de ne pas avoir le refresh complet de la page...
Marsh Posté le 02-03-2010 à 17:38:09
Ok .
Par expérience on a parfois des surprises assez funs avec des contrôles générés dynamiquement dans des hiérarchies complexes (et en .net on y arrive vite entre les masters et les héritages).
Par exemple j'ai buté récemment sur un problème de levée d'événement (qui ne se faisait jamais) provenant d'un bouton situé dans un usercontrol généré dynamiquement par un repeater. Seul l'UC fonctionnait parfaitement mais lorsque il était généré par le repeater plus rien à faire : aucun événement ne passait.
Dans ton cas tu fais quoi, tu fais un phTruc.Controls.Add() d'un contrôle proprement instancié précédemment ? Ca ne devrait pas poser de souci, par contre au postback ils sont peut être perdus (contrôle dynamique -> pas de viewstate). Tu as essayé en pas à pas pour voir ce que fait le bouzin ? Et ce qu'il y a dans la collection Controls de ton placeholder ?
Marsh Posté le 04-03-2010 à 08:36:00
Ben en fait jusqu'a ce que la page soit affiché le control est bien present dans placeHolderMain.Controls, mais au moment de quitter la page il est vide. J'ajoute via placeHolderMain.Controls.Add oui...
Marsh Posté le 04-03-2010 à 08:54:00
Cela dit je charge le control avec cette method :
(UserControl)Page.LoadControl
C'est bon ou faut que j'instancie plus proprement comme tu dis ?
Marsh Posté le 02-03-2010 à 12:42:53
Salut,
j'ai une page ASP.Net dans laquelle je charge un UserControl (qui varie selon le contexte) via un PlaceHolder. Et j'aimerais bien récupérer le contenu des champs de ce UserControl au moment de changer la page. Le soucis c'est quand je quitte la page, Control du PlaceHolder est vide...
Quelqu'un a une idée du soucis ?
A+
---------------
Faut qu'on court comme des lions, des tigres et des ours!