Question

Ma page maître a un espace réservé de contenu, et ma page a 2 grilles rad, dans des panneaux asp: séparés. Dans une sélection déroulante, la grille respective est chargée dans la page.

  1. Je sélectionne la grille 1 dans la liste déroulante
  2. Cliquez sur ajouter une nouvelle ligne, mais n'annulez ni n'ajoutez de nouvelle ligne (laissez cette nouvelle ligne rester ouverte)
  3. Sélectionnez grid2 dans la liste déroulante, laissez la grille se charger
  4. Sélectionnez à nouveau grid1 dans la liste déroulante

À ce stade, la grille1 s'ouvre, mais j'obtiens l'erreur javascript suivante.

Erreur d'exécution Microsoft JScript: Sys.WebForms.PageRequestManagerServerErrorException: échec du chargement de viewstate. L'arbre de contrôle dans lequel viewstate est chargé doit correspondre à l'arborescence de contrôle qui a été utilisée pour enregistrer viewstate lors de la requête précédente. Par exemple, lors de l'ajout dynamique de contrôles, les contrôles ajoutés lors d'un post-back doivent correspondre au type et à la position des contrôles ajoutés lors de la demande initiale.

Toute idée du problème. J'ai lu dans certains forums que le problème pouvait être, en utilisant le même type de contrôle dans un seul espace réservé de contenu. Toute suggestion de solution ???

Était-ce utile?

La solution 3

J'ai effacé les contrôles des deux grilles lors du changement de sélection dans la liste déroulante, avant de les relier.Cela a résolu mon problème.

radgrid1.Controls.Clear (); radgrid2.Controls.Clear ();

Autres conseils

Le même type de contrôle dans le même espace réservé de contenu n'est pas un problème.

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.

Cela se produit le plus souvent lorsque vous ajoutez et supprimez dynamiquement des contrôles. Le simple fait de changer la visibilité ne devrait pas vous donner une erreur.

Peut-être que montrer une partie de votre code vous aiderait.

Sans avoir plus d'informations, il semble que vos contrôles ne soient plus sur la page après une publication. Supprimez-vous les grilles rad ou les rendez-vous simplement visibles en cas de besoin? Il se peut également que vous les ajoutiez de manière dynamique.Cela peut poser des problèmes avec les radgrids, je pense.

Je pense que la meilleure solution est d'utiliser One grid et de la manipuler lorsque l'utilisateur a fait une nouvelle sélection. Si les grilles sont très différentes les unes des autres, j'en ajouterais plusieurs et les rendrais visibles lorsqu'elles sont sélectionnées dans la liste (ne le faites pas lorsque vous avez plus de 3 options).

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