第一种:QueryString
//将源页面start.aspx中的lable 和textbox中的内容传到end.aspx页面中 并在其lable 和textbox中显示传过来的内容
源页面代码:
protected void Button1_Click(object sender, EventArgs e)
{
string url;
url = "end.aspx?name="+Label1.Text+"&home="+TextBox1.Text;
Response.Redirect(url);
}
目标页代码:
protected void Page_Load(object sender, EventArgs e)
{
///通过QueryString传参数
Label1.Text = Request.QueryString["name"];
TextBox1.Text=Request.QueryString["home"];
}
第二种:通过Session传参数
源页面代码:
protected void Button1_Click(object sender, EventArgs e)
{
Session["name"]=Label1.Text;
Session["home"] = TextBox1.Text;
Server.Transfer("end.aspx");
}
目标页代码:
protected void Page_Load(object sender, EventArgs e)
{
//通过Session传参数
Label1.Text=Session["name"].ToString();
TextBox1.Text = Session["home"].ToString();
//应该使用一些清理动作来去除一些不需要的session来降低资源的无谓消耗.
Session.Remove("name");
Session.Remove("home");
}
第三种:使用Server.Transfer传参数
该方法虽然麻烦,但是你可以在另一个页面以对象属性的方式来存取显露的值。
原页面代码:
public partial class start: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//使用Server.Transfer方法
Server.Transfer("end.aspx");
}
//此处设定变量name和home的返回值,以便在目标页面中作为属性值显示
public string name
{
get
{
return Label1.Text;
}
}
public string home
{
get
{
return TextBox1.Text;
}
}
}
目标页代码:
public partial class end : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//此处把目标页面_Default作为一个类,而name和home都为其属性值
start wf1;
wf1 = (start)Context.Handler;
Label1.Text = wf1.name;
TextBox1.Text = wf1.home;
}
}