Question

J'ai une page ASPX qui charge dynamiquement des contrôles utilisateur: il y a un UpdatePanel qui détient ces contrôles (un à chaque fois). Quand je change un contrôle avec un autre, il échoue avec le message:

  

Impossible de charger viewstate. Le contrôle   arbre dans lequel l'état d'affichage est en cours   chargé doit correspondre à l'arbre de commande   qui a été utilisé pour sauver viewstate pendant   l'application précédente. Par exemple,   lors de l'ajout de contrôle dynamique, la   contrôles ajoutés pendant un must de retour   en fonction du type et de la position de la   contrôles ajoutés au cours de la première   application.

Tous trois contrôles héritent de System.Web.UI.UserControl. Peut-être que je peux résoudre le problème à faire:

  1. Charger trois contrôles à l'heure de début et puis cacher deux d'entre eux comme nous en avons besoin.
  2. Utilisez trois UpdatePanels, un pour chaque commande de l'utilisateur.
  3. Un conseil?
Était-ce utile?

La solution

Assurez-vous que postbacks sont pas mises à jour des panneaux indésirables en définissant le mode conditionnel et à postback les mettre à jour manuellement.

Autres conseils

Lorsque vous ajoutez dynamiquement les contrôles utilisateur, vous assignez la propriété id? Et vous ajoutez à nouveau le contrôle, sur postback, définissant la propriété id à la même valeur?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top