您的位置:首页 > 其它

在两个页面之间传递信息

2007-11-19 10:47 197 查看
在asp.net不同页面之间传值的方法主要有三种:
(1)用querystring
方法:在vs2005中新建asp.net网站(发送端),在页面上添加button,两个TextBox,代码如下:


protected void Button1_Click(object sender, EventArgs e)






{


string url;


url = "http://localhost/look1/Default.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;


Response.Redirect(url);


}
再建接收端页面,在页面上添加两个TextBox,代码如下:


TextBox1.Text = Request.QueryString["name"];


TextBox2.Text = Request.QueryString["email"];

(2)使用session变量


private void Button1_Click


(object sender, System.EventArgs e)






{


Session["name"]=TextBox1.Text;


Session["email"]=TextBox2.Text;


Server.Transfer("http://localhost/look1/Default.aspx");


}


目标页面代码:


private void Page_Load


(object sender, System.EventArgs e)






{


TextBox1.Text=Session["name"].ToString();


TextBox2.Text=Session["email"].ToString();


Session.Remove("name");


Session.Remove("email");


}



(3)使用server.transfer


源页面代码:


把以下的代码添加到页面中


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)






{


WebForm1 wf1;


wf1=(WebForm1)Context.Handler;


TextBox1.Text=wf1.Name;


TextBox2.Text=wf1.EMail;


}





当然,在同一个解决方案里的不同页面之间传值就更简单了,只需将url改为页面名(如:Default2.aspx)就OK了!试试看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: