ASP. net web forms provides developers with an excellent event-driven development mode. However, this simple application development mode brings us some small problems. For example, in the traditional ASP application, you can use the POST method to easily transfer one or more values from one page to another (request ()/request. form ()/request. querystring (), using the same method in ASP. NET. Here, we can solve this problem in other ways. ASP. NET provides three methods for us. One is to use QueryString to transmit the corresponding value, the other is to transmit the corresponding value through the session variable, and the other is to use the Server. the Transfer method.
I. Querystring
Querystring is a simple value transfer method. Its disadvantage is that it displays the value to be transferred in the address bar of the browser and cannot pass objects in this method. If you want to pass a security that is not so important or a simple value, it is best to use this method. The following is a small example to complete the data transfer process. The procedure is as follows:
1. Create a web form
2. Place a button1 in the new web form, and place two TextBox1 and TextBox2
3. Create a click event for the button
The Code is as follows:
Private void button_click (object sender, System. EventArgs e)
{
String url;
Url = "webform2.aspx? Name = "+ TextBox1.Text +" & Email = "+ TextBox2.Text;
Response. Redirect (url );
}
4. Create a new target page named webform2
5. Place Label1 and Label2 in webform2.
Add the following code to Page_Load of webform2:
Private void Page_Load (object sender, System. EventArgs e)
{
Label1.Text = Request. QueryString ["name"];
Label2.Text = Request. QueryString ["Email"];
}
Run the command to view the passed result.
Ii. Use Session Variables
Using Session variables to pass values is the most common method. In this method, values can be transmitted not only to the next page, but also to multiple pages, the variable does not disappear until the value of the Session variable is removed. For example:
1. Create a web form
2. Place a button1 in the new web form, and place two TextBox1 and TextBox2
3. Create a click event for the button
The Code is as follows:
Private void button_click (object sender, System. EventArgs e)
{
Session ["Name"] = TextBox1.Text;
Session ["Email"] = TextBox2.Text;
Response. Redirect ("webform2.aspx ");
}
4. Create a new target page named webform2
5. Place Label1 and Label2 in webform2.
Add the following code to Page_Load of webform2:
Private void Page_Load (object sender, System. EventArgs e)
{
Label1.Text = Session ["Name"]. ToString ();
Label2.Text = Session ["Email"]. ToString ();
Session. Remove ("Name ");
Session. Remove ("Email ");
}
Run the command to view the passed result.
Iii. Use Server. Transfer
Although this method is a bit complicated, it is also a way to pass values on the page.
For example:
1. Create a web form
2. Place a button1 in the new web form, and place two TextBox1 and TextBox2
3. Create a click event for the button
The Code is as follows:
Private void (object sender, System. EventArgs e)
{
Server. Transfer ("webform2.aspx ");
}
4. The TextBox1 is returned during the creation process. The value code of the TextBox2 control is as follows:
Public string Name
{
Get {return TextBox1.Text ;}
}
Public string Email
{
Get {return TextBox2.Text ;}
}
5. Create a new target page named webform2
6. Place Label1 and Label2 in webform2.
Add the following code to Page_Load of webform2:
Private void Page_load (object sender, System. EventArgs e)
{
// Create a webform instance
Webform1 wf1;
// Obtain the instantiated handle
Wf1 = (webform1) Context. Handler;
Label1.Text = wf1.Name;
Label2.Text = wf1.Email;
}
These three methods are common.