Impossible de charger viewstate. Se produisant seulement de temps en temps. Difficile à recréer
Les détails de l'Erreur sont donnés ci-dessous. Cette erreur se produit qu'occasionnellement /rarement /parfois et il n'y a pas toutes les étapes pour le reproduire.
Comment puis-je savoir qui Contrôle est de lancer cet état d'affichage d'erreur?
Message D'Erreur:
Échec du chargement du viewstate. Le contrôle de l'arbre dans lequel l'état d'affichage est en cours de chargement doit correspondre à l'arborescence de contrôle qui a été utilisé pour enregistrer l'état d'affichage lors de la précédente demande. Par exemple, lorsque vous ajoutez des contrôles dynamiquement, les contrôles ajoutés au cours de l'après-back doit correspondre au type et de la position des contrôles ajoutés lors de la demande initiale.
Lorsque:
Rarement /Parfois
Étapes à Recréer:
Ne peut pas
Trace De La Pile:
System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Web.HttpException: 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.
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
at System.Web.UI.Page.LoadAllState()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
--- End of inner exception stack trace ---
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.sessions_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\73694782\85423fe4\App_Web_mnrmfsfa.8.cs:line 0
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Il est!
Désactiver "Juste mon code" dans les paramètres de débogage. Et attraper toutes les exceptions lancées (cochez la case 'jeté' pour le Common Language Runtime dans la boîte de dialogue ouverte par Ctrl-Alt-E).
Après l'exception se produit, allez à la plus proche de la pile d'image où l'objet de Contrôle est disponible et d'examiner sa ClientID et les parents.
Plus généralement, cette erreur se produit lorsque le de contrôle de la hiérarchie de la page change d'une manière qui empêche le cadre de charger l'état d'affichage. L'état d'affichage mécanisme suppose que le contrôle de la hiérarchie est la même sur la charge qu'il l'était quand il a été enregistré.
Ce pourrait regarder comme une erreur aléatoire car il ya des cas quand changer les contrôles de la page n'empêche pas le point de vue de l'état de chargement. Jetez un oeil à votre page et de regarder pour les contrôles qui sont dynamiquement créés/supprimés. S'assurer que tous les contrôles sont ajoutés à la page avant l'état d'affichage est chargé (ce qui serait avant le Chargement de la page de l'événement).
Malheureusement, il n'existe aucun moyen de voir qui est le coupable de contrôle qui n'est pas correctement mis en place pour le contrôle de la hiérarchie. Une manière commune de voir cette erreur est d'ajouter des contrôles dynamiques sur un événement (par exemple sur une liste déroulante d'index sélectionné changé) - de cette façon, leur état est enregistré à l'état d'affichage, mais pas les ajouter de nouveau sur la publication - de cette façon, l'état d'affichage n'est pas valide car le contrôle n'existe plus lorsque l'état d'affichage est chargé.
Il y a une solution pour cette erreur:
Définir propriété EnableViewstate de tous les charger dynamiquement des contrôles sur la valeur false. Ce n'est pas une solution complète, nous sommes la désactivation des contrôles ViewState ici pour ignorer cette erreur.
Cette solution peut provoquer d'autres erreurs à relever la tête, donc soyez prudent lors de l'application de ce correctif.
J'ai vécu cette erreur, ça arrive quand il y a une croix à la page de publication.
Par exemple: Vous chargez Vue A. Afficher Une charge très bien, pour quelque raison que ce soit les conditions dans lesquelles la Vue est chargé, n'existent plus. Le repli de la page est Vue B. de ce fait, l'utilisateur remplit le formulaire d'inscription sur Vue Un et postsback. Depuis la Vue d'Un de ses conditions ne sont plus remplies, l'Affichage d'Un formulaire valeurs sont affichées à la Vue de B.
J'ai eu cette erreur lors de mes contrôles personnalisés ont été créés accidentellement dans Page_Load(). Les contrôles devraient être créés dynamiquement en OnInit().
Cela devrait probablement le faire pour vous.
http://yakshaver.blogspot.com/2011/03/greatest-viewstate-attribute-to-ever.html
J'ai vu cette erreur lors de l'utilisation d'un gridview. Qu'il allait se passer lors de l'interaction de l'utilisateur causé une publication avant que la page a été faite rendu complètement.
Je crois qu'il a été fixé dans VS2005 SP1 cependant.
Vous pouvez probablement reproduire ce par arrêt la page avant qu'elle soit complètement chargé, et puis de la soumission d'une publication. Si le serveur n'a pas pu obtenir le viewstate le serveur, alors il ne sera pas en mesure de re-créer sur la publication, d'où le crash.
J'ai connu exactement le même problème. J'ai eu 2 listview dans une page Maître, associée à 2 updatedpanels.
La désactivation de la EnableViewState sur les Listviews résolu pour moi!