Access ViewState Across Pages
Introduction
Before I start this article, let me ask you something. Is it possible to access the ViewState
variable of one page on another page? I don't know what your answer is. Well, frankly speaking, my answer was also "NO" before writing this article as it is said that ViewState
is page specific.
Background
ViewState is a very misunderstood animal. It is said that ViewState
is Page specific; that means, it is available only on the same page on which it was created. Once you redirect to another page, the previous page's viewstate
is no longer accessible. But that is not true.
Using the Code
Yes, we can access the viewstate
variables across pages. This is only possible if Cross Page Posting or Server.transfer is used to redirect the user to other page. If Response.redirect
is used, then ViewState
cannot be accessed across pages.
Before you continue reading this article, please read these articles on Cross Page Posting and Server.transfer.
Ok, so all set now... I will demonstrate this using the demo created by me. You can download the demo from the link at the top of this article.
I have created two *.aspx pages named:
- ViewStateContainer.aspx: This page sets the
ViewState
variable and transfers the user to another page usingServer.transfer
. - AccessViewState.aspx: This page accesses the
ViewState
variable of ViewStateContainer.aspx page.
This is the code of ViewStateContainer.aspx page:
Comments