Les informations d'état n'est pas valide pour cette page et peut être endommagé. (Seulement dans IE)
Quelqu'un peut-il m'aider à sortir de cette exception. J'ai essayé quelques bugs mais rien n'a fonctionné. Je reçois cette exception que dans IE(7, 8 et 9).
Lorsque je charge la page première fois, il affiche une liste déroulante. lorsque je sélectionne un fournisseur particulier et qu'il fait une page de message de retour et renvoie les informations requises. Si je change de fournisseur, il se charge de l'information. Lorsque je charge un contrôle sur la page à l'aide de $.requête ajax de façon dynamique et de revenir en arrière et modifier la liste déroulante de sélection(sélectionner un autre fournisseur), il craps et m'a donné l'exception suivante. De nouveau il se produit uniquement dans IE.
The state information is invalid for this page and might be corrupted.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: The state information is invalid for this page and might be corrupted.
Source Error:
[No relevant source lines]
Source File: c:\Users\tmalik\AppData\Local\Temp\Temporary ASP.NET Files\root\6691c708\751e6443\App_Web_a3kdfsht.2.cs Line: 0
Stack Trace:
[FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters. ]
System.Convert.FromBase64String(String s) +0
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +77
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37
System.Web.UI.HiddenFieldPageStatePersister.Load() +147
[ViewStateException: Invalid viewstate.
Client IP: 127.0.0.1
Port:
Referer: http://localhost:57289/vendor.aspx
Path: /vendor.aspx
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; MDDR)
ViewState: 2D1IMRanPXfVARbRp1ooiwD71WHybNzxSNLbbA0G3MxKeo7m52dHWLBPGdnMH5JthTnPVt7UES/PVx39dfZYHbr0/DL7J58mvA2I4wRUSdDShVxvZqC7ZPZWcatowpZ7VYaD9PFKW7OkgppCwmePFuYnpU8kWDT5TvSLqN50Flrqpv0zCM9YoCKemfesa68rqBkkSTijcxnxdDCgvzSl72giI4ZhwK92wD22Ma6scW4PFjRZeTsKoowJq+JqJGuBMEepwKguFUy4dX86UIULnJ7NQsgZW1aQvpZdnfSRCSYrWhFWPhKTPsS622eaQYShsxddPs/mfEB26f54WS+iBYuk3mWm8jr6sWvsOIRtwH8b3E/5UujbgAxTNVg8BhzpSFvmE4KwGKo0tKuuqOFtP0pjpaAI7fV3EQ1M7BVQSAVrtBevRFJ0PlCPrU2aQms2LVeE5POqTJGtY+74xWkdCtLzT04Ug4R+SMBRElQBqX/5A54OHj2ghYjJ/3tgg4ToGUX2xrQ/c70lrphP+kabGVM2Op4DFjZAaOZj/CDVUurH2BYXKuJdUvzbf2zHngoOnqZGqrw3n6V6HGcnHNKxfuGQ20MPdxJYCbYHGiRqixzV1NxJoHFHbYCVx3IlrqF0W44AFKm2gzzk3V8zu9lUjyFNvUNBMjNaZeekLtcWpszhKrm8WhVnWQAk1CXxKJqyK0RC3...]
[HttpException (0x80004005): The state information is invalid for this page and might be corrupted.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +235
System.Web.UI.ViewStateException.ThrowViewStateError(Exception inner, String persistedState) +14
System.Web.UI.HiddenFieldPageStatePersister.Load() +251
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +106
System.Web.UI.Page.LoadAllState() +43
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8431
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +253
System.Web.UI.Page.ProcessRequest() +78
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.vendor_aspx.ProcessRequest(HttpContext context) in c:\Users\tmalik\AppData\Local\Temp\Temporary ASP.NET Files\root\6691c708\751e6443\App_Web_a3kdfsht.2.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Je pense que je sais de mon problème. L'ajout de contrôles dynamiques(ajaxly) sur la page des changements de l'état d'affichage et lorsque nous publier la page, il déclenche une exception puisque l'état d'affichage a changé. j'ai utilisé un hack pour supprimer tous les placeholdes(c'est à dire Div) à l'aide de jquery sur pagepost le dos. Ce qui implique la suppression de tous les viewstate. voici ma solution de $("#VendorListDropDownSearchable").change( function () { $("#UserControl1DIV").remove(); $("#UserControl2DIV").remove(); });
Super! Si vous confirmez que cela résout votre problème, merci de revenir ici et de créer une réponse. Qui va vraiment aider d'autres personnes qui trouveront sûrement leur chemin ici. J'ai eu exactement le même message d'erreur moi même, ne pouvait pas se rappeler. Il est parfaitement bien pour répondre à vos propres questions (il le dit dans la FAQ).
OriginalL'auteur Tauseef | 2012-01-20
Vous devez vous connecter pour publier un commentaire.
Ok, alors voici la solution/hack je suis venu avec. Mon problème est que l'ajout d'un utilisateur de contrôler dynamiquement (via une requête ajax) sur la page de modification de l'état d'affichage de la page et a été lancer une exception. Après recherche, j'ai trouvé que l'état d'affichage des magasins de l'état d'une page (les propriétés et les paramètres). Une fois que vous retournez les contrôles html à partir d'un service web, il va y avoir une sorte de viewstate stockées sur la page. Et quand vous postez sur le serveur, il va lever une exception quand il déchiffrer le viewstae pour reconstruire la page. J'ai simplement supprimé les contrôles (qui ont été ajoutés dynamiquement) sur les publications de la page retour à l'aide de jquery et le problème a résoudre.
Totalement eu le problème identique. Merci pour l'affichage de la réponse!
J'ai eu le même problème dans IE9 (la page a bien fonctionné dans IE10). J'ai dû ajouter un OnClientClick à mon ASP.Net bouton pour appeler une fonction Javascript comme la vôtre, avant de tenter d'exécuter un code C#, pour rediriger vers un autre ASP.Net page.
OriginalL'auteur Tauseef
Je sais que cela a été répondu, mais ici, êtes un couple d'autres options:
1). Si vous êtes en train de faire un appel de service web via jquery .load (), vous pouvez simplement supprimer le viewstate au retour à l'aide de charges de rappel paramètre
2). À l'aide de la Html Agility Pack Vous pouvez faire la même chose dans un service web avant de rendre le retourné de contrôle. Supposons que vous êtes à l'appel d'un service web qui charge un UserControl.ascx dans le service, puis le rend du html avant de revenir.
c'était le problème réel. Merci!!!!
OriginalL'auteur Ben Ziegler