Martin Bertram
asked on
Failed to load viewstate warning - Asp.Net Web Forms app
Hello,
I have an Asp.Net web forms application (4.5) that works fine but the event log on the IIS server is riddled with warning level entries about "Failed to load viewstate." (full message below). My research indicates this can happen when dynamically adding controls improperly, but I have no dynamically added controls. I do user web user controls, and I do use a master page. The master page has a RadWindow (Telerik) which has a web user control inside of it's content template. Also some of the other pages have web user controls.
Any ideas? Thanks a lot.
I have an Asp.Net web forms application (4.5) that works fine but the event log on the IIS server is riddled with warning level entries about "Failed to load viewstate." (full message below). My research indicates this can happen when dynamically adding controls improperly, but I have no dynamically added controls. I do user web user controls, and I do use a master page. The master page has a RadWindow (Telerik) which has a web user control inside of it's content template. Also some of the other pages have web user controls.
Any ideas? Thanks a lot.
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 10/10/2014 8:06:21 AM
Event time (UTC): 10/10/2014 12:06:21 PM
Event ID: 95721625fd21464789c949a0a448323e
Event sequence: 4468
Event occurrence: 549
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT/*******-1-130573917 227018547
Trust level: Full
Application Virtual Path: /*******
Application Path: D:\Websites\Intranet\*******\
Machine name: *******19
Process information:
Process ID: 11120
Process name: w3wp.exe
Account name: IIS APPPOOL\Intranet
Exception information:
Exception type: HttpException
Exception message: 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.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Control.LoadChildViewS tateByInde x(ArrayLis t childState)
at System.Web.UI.Control.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Control.LoadChildViewS tateByInde x(ArrayLis t childState)
at System.Web.UI.Control.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Control.LoadChildViewS tateByInde x(ArrayLis t childState)
at System.Web.UI.Control.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Page.LoadAllState()
at System.Web.UI.Page.ProcessRequestMai n(Boolean includeStagesBeforeAsyncPo int, Boolean includeStagesAfterAsyncPoi nt)
Request information:
Request URL: http://intranet.*******.com/*******/Default.aspx
Request path: /*******/Default.aspx
User host address: 172.16.1.52
User: *******\RobB
Is authenticated: True
Authentication Type: Negotiate
Thread account name: IIS APPPOOL\Intranet
Thread information:
Thread ID: 16
Thread account name: IIS APPPOOL\Intranet
Is impersonating: False
Stack trace: at System.Web.UI.Control.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Control.LoadChildViewS tateByInde x(ArrayLis t childState)
at System.Web.UI.Control.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Control.LoadChildViewS tateByInde x(ArrayLis t childState)
at System.Web.UI.Control.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Control.LoadChildViewS tateByInde x(ArrayLis t childState)
at System.Web.UI.Control.LoadViewStateR ecursive(O bject savedState)
at System.Web.UI.Page.LoadAllState()
at System.Web.UI.Page.ProcessRequestMai n(Boolean includeStagesBeforeAsyncPo int, Boolean includeStagesAfterAsyncPoi nt)
Custom event details:
ASKER
I suspect that it is occuring because I republished a new version of the application and users haven't closed the application on their browser. Is there a way to catch this exception in the code and then perhaps force a redirect to the same page to reload it, or something to that effect?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
- Identify which control may have changed contents between requests that is triggering the issue. You may try by deleting all controls and then add one control at the time until the error happens.
- Check if you really need View state for the control found in previous step. If not needed set EnableViewState to false.
Please post sample code if more help needed.