Die Status-Informationen für diese Seite ist ungültig und möglicherweise beschädigt. (Nur im IE)
Kann mir jemand helfen mit dieser Ausnahme. Ich habe versucht, paar fixes, aber nichts funktionierte. Ich bekomme diese exception nur im IE(7, 8 und 9).
Als ich die Seite geladen erste mal, es öffnet sich ein dropdown-Menü. wo ich wählen Sie einen bestimmten Hersteller, und es macht eine Seite nach hinten und gibt die erforderlichen Informationen ein. Wenn ich den Lieferanten ändern, wird es immer noch laden Sie die Informationen. Wenn ich laden Sie ein Steuerelement auf der Seite mit $.ajax-request dynamisch und als gehen Sie zurück und ändern Sie die dropdown-Auswahl(wählen Sie einen anderen Anbieter), es scheißt und gab mir die folgende Ausnahme. Wieder ist es passiert nur in den 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
- Ich würde jagen: "Die Eingabe ist keine gültige Base-64-Zeichenfolge, da es enthält eine nicht-base-64-Zeichen, mehr als zwei Füllzeichen, oder ein nicht-white-space-Zeichen unter der Polsterung Zeichen."
- Ich glaube, ich weiß, mein problem. Hinzufügen von dynamischen controls(ajaxly) auf der Seite ändert den Anzeigestatus und, wenn wir post zurück, die Seite wirft er eine exception, da viewstate hat sich geändert. benutzt habe ich einen hack entfernen Sie alle placeholdes(z.B. Div) mit Hilfe von jquery auf pagepost zurück. Was bedeutet, dass alle zusätzlichen viewstate. hier ist meine Lösung $("#VendorListDropDownSearchable").change( function () { $("#UserControl1DIV").entfernen(); $("#UserControl2DIV").die remove(); });
- Super!!! Wenn Sie bestätigen, dass dies Ihr problem löst, bitte kommen Sie wieder hier, und erstellen Sie eine Antwort. Das wird wirklich helfen, andere Menschen, die sicherlich finden Ihren Weg hierher. Ich hatte genau die gleiche Fehlermeldung selbst, konnte einfach nicht mehr. Es ist völlig in Ordnung, um die Antwort auf Ihre eigenen Fragen (so steht es in der FAQ).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, also hier ist die Lösung/hack kam ich mit. Mein problem war, dass das hinzufügen von ein user control dynamisch (durch ajax-request) auf die Seite ändert den Anzeigestatus der Seite und war eine Ausnahme. Nach recherche fand ich heraus, dass der viewstate speichert den Zustand einer Seite (Eigenschaften und Einstellungen). Sobald Sie wieder die Steuerelemente der html aus einem web-service, es geht um eine Art von viewstate gespeichert, auf die Seite. Und wenn Sie post zurück an den server, es wird eine exception werfen, wenn es entschlüsseln der viewstae, um die Seite neu aufbauen. Ich habe Sie einfach entfernt, diese Kontrollen (die dynamisch Hinzugefügt) auf Seite post zurück mit jquery und problem gelöst habe.
Ich weiß, das wurde beantwortet, aber hier sind ein paar andere Optionen:
1). Wenn Sie eine web-service-Aufruf via jquery .load() können Sie einfach entfernen Sie die viewstate-nach der Rückkehr die Verwendung von Lasten-callback-parameter
2). Mit der Html-Agility-Pack Sie können dies tun, dasselbe in einem web-service vor dem Rendern der Kontrolle zurückgegeben. Davon aus, dass Sie einen Webdienst aufrufen, lädt ein UserControl.ascx in den Dienst und dann rendert er die html-vor der Rückkehr.
In meinem Fall war das problem, dass zwei
<form></form>
- tags.Ich habe eine TextBox in meine Hauptseite. Wenn der Benutzer einen Wert in dieses Textfeld ein Skript geht zur anderen Seite und sucht, die Wert während der Benutzer weiter zu schreiben. Normalerweise habe ich diese "anderen" Seite, indem Sie
Website
,Add New Item
. Also Visual Studio erstellt eine neue Seite für mich. Wie üblich gab es<form></form>
tag in dieser neuen Seite, zu. Also löschte ich die tags und das problem war gelöst.Hier sind meine codes:
(PS: ich benutze MasterPage. Aber der folgende code wird nur benötigt, meine Hauptseite)
Im obigen code
serinover.aspx
ist die zweite Seite, die nicht hätten<form></form>
tag.Leeren div geladen "auf hiddden". Ich fand, dass die Entleerung des div oder setzen Sie es zurück auf den ursprünglichen text (bei mir war der laden-Botschaft) beide gearbeitet.