Passing values between Asp.Net pages

ASP.Net Parameter Values

If your Asp.Net application navigates from one Web page to another Web page, you should aware of how to pass information from the source page to the destination page. You can implement various methods to pass information between Asp.Net WebPages and these methods depend on how the redirection occurs.

Using a query string is the most popular way of passing information between asp.net web pages, the other methods are Use session state , Get HTTP POST information from the source page , Create public properties in the source page and access the property values in the target page and Get control information in the target page from controls in the source page. Some of the popular methods are follows with examples.

Query String method

Query String is a group of keywords that send request to the web server. These requests specified by the values following the ? (question mark). The ? (question mark)is used as a separator and it is not part of the query string.

e.g.

http://aspserver/program/path/?query_string

Passing single value

https://net-informations.com.com/page1.aspx?field1=value1

Passing multiple values

https://net-informations.com.com/page1.aspx?field1=value1&field2=value2

How to retrieve Query String values in the target page ?

string value1 = Request.QueryString["field1"]; string value2 = Request.QueryString["field2"];
HTTP POST Method

When the source Asp.Net page uses the HTTP POST action redirect to the target page, you can retrieve posted values from the Form collection in the destination page.

e.g.

In the source page include a form element that contains a TextBox and a button control that post values when the form is submitted.

Set the PostBackUrl property for the control to the URL of the page to which you want to post the ASP.NET Web page

The following source code explains a Button control that is configured to post to a page named destination.aspx in the root of the Asp.Net Web site.

<asp:Button ID="Button1" PostBackUrl="~/destination.aspx" runat="server" Text="Submit" />

After the submit, we can retrieve value using Request.Form["ControlID"] at the target page.

Label1.Text = "Submitted Value: " + Request.Form["Textbox1"].ToString();
Session State method

Information in the Asp.Net session state is available to all ASP.NET Web pages in the current application. It takes server memory, and the information is stored until the session expires, which can be more overhead than you want for simply passing information to the next page.

In the source page you can set the session values like the following:

Session["field1"] = "value1";

In the destination page you can read the saved session values like the following:

string field1 = (string)(Session["field1"]);