详述ASP.Net中页面之间传参方法

2019-05-26 04:58:47王振洲

目标页面代码:

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"); 
} 

使用Server.Transfer

这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种方法是简洁的同时又是面向对象的。

使用这种方法的整个过程如下:

    在页面里添加必要的控件 创建返回值的Get属性过程 创建可以返回表单的按钮和链接按钮 在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面 在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了 以下代码综合实现上述步骤过程的代码: 源页面代码: 把以下的代码添加到页面中
public string Name 
{ 
get { return TextBox1.Text; } 
} 
public string EMail 
{ 
get { return TextBox2.Text; } 
} 

然后调用Server.Transfer方法

private void Button1_Click (object sender, System.EventArgs e) 
{ 
Server.Transfer("anotherwebform.aspx"); 
} 

目标页面代码:

private void Page_Load (object sender, System.EventArgs e) 
{ 
//create instance of source web form 
WebForm1 wf1;  
//get reference to current handler instance 
wf1=(WebForm1)Context.Handler; 
Label1.Text=wf1.Name; 
Label2.Text=wf1.EMail; 
} 

通过本文的对页面之间传递参数几种方法的介绍,希望对你有帮助,也希望多多支持易采站长站。