Czy ktoś może mi pomóc z tym wyjątkiem. Próbowałem kilka poprawek, ale nic nie działało. Dostaję ten wyjątek tylko w IE (7, 8 i 9).Informacje o stanie są nieprawidłowe dla tej strony i mogą być uszkodzone. (Tylko w IE)
Kiedy ładuję stronę po raz pierwszy, pojawia się menu rozwijane. gdzie wybieram określonego dostawcę i powoduje, że strona jest wysyłana z powrotem i zwraca wymagane informacje. Jeśli zmienię dostawcę, nadal będzie on ładował informacje. Kiedy ładuję kontrolkę na stronę przy pomocy dynamicznego żądania $ .ajax, a następnie wracam i zmieniam wybór listy rozwijanej (wybieram innego dostawcę), to zgaduję i dałem mi następujący wyjątek. Znowu dzieje się to tylko w 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
Przepuściłbym to: "Dane wejściowe nie są prawidłowym ciągiem Base-64, ponieważ zawiera on 64-literową nie podstawową postać, więcej niż dwa naprzemienne znaki lub inny niż biały znak spacji wśród znaków dopełniających." – DOK
Myślę, że znam mój problem. Dodanie dynamicznych elementów sterujących (ajaxly) na stronie zmienia stan widoku, a po wysłaniu z powrotem strony zgłasza wyjątek, ponieważ zmieniła się data. użyłem hack, aby usunąć wszystkie placeholdes (to znaczy Div) za pomocą jquery na stronie z powrotem. Co oznacza usunięcie wszystkich dodanych stanów widoku. tu jest moje rozwiązanie $ ("# VendorListDropDownSearchable") zmiana (function() { $ ("# UserControl1DIV") Usunąć();. $ ("# UserControl2DIV") Usunąć();. }.); – Tauseef
Świetnie! Jeśli potwierdzisz, że to rozwiązuje twój problem, wróć tutaj i utwórz odpowiedź. To naprawdę pomoże innym ludziom, którzy na pewno znajdą tu drogę. Sam miałem ten sam komunikat o błędzie, po prostu nie mogłem sobie przypomnieć. Całkiem dobrze jest odpowiadać na własne pytania (tak jest w FAQ). – DOK