Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

How do we access viewstate value of this page in the next page ?

0.00/5 (No votes)
20 Sep 2007 1  
View state is page specific; it contains information about controls embedded on the page.

Introduction

How do we access viewstate value of this page in the next page ?

Background

View state is page specific; it contains information about controls embedded on the
particular page. ASP.NET 2.0 resolves this by embedding a hidden input field name,
__POSTBACK . This field is embedded only when there is an IButtonControl on the
page and its PostBackUrl property is set to a non-null value. This field contains the view
state information of the poster page.

Using the code

A brief description of how to use the code. The class names, the methods and properties, any tricks or tips.

To access the view state of the poster page, you can use the new PreviousPage property of the page:

//Page poster = this.PreviousPage;

Then you can find any control from the previous page and read its state: 


//Label posterLabel = poster.findControl("myLabel");

//string lbl = posterLabel.Text;


This cross-page post back feature also solves the problem of posting a Form to multiple
pages, because each control, in theory, can point to different post back URL.

Points of Interest

You can post back to any page and pages in another application, too. But if you are
posting pages to another application, the PreviousPage property will return null. This is a
significant restriction, as it means that if you want to use the view state, you are confined,
for example, to posting to pages in the same virtual directory. Even so, this is a highly
acceptable addition to the functionality of ASP.NET.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here