一、QueryString
QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上(不安全),同时又不能传递对象,但是在传递的值少而安全性要求不高的情况下,这个方法还是一个不错的方案。使用这种方法的步骤如下:
1,在源页面创建要跳转的目的URL里添加需要传递的参数例如:"result.aspx?name=" + txtName.Text
2,使用Response.Redirect(URL)
3,在目的页面使用Request.QueryString["name"];来取到参数值。
二、 Server.Transfer
这个是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
//a.aspx的C#代码 public string Name { get{ return Label1.Text;} } private void Button1_Click(object sender, System.EventArgs e) { Server.Transfer("b.aspx"); }
b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { a newWeb; //实例a窗体 newWeb = (source)Context.Handler; string name; name = newWeb.Name; }
三、 使用Session变量
使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失 。
源:Session["email"]=txtEmail.Text;
Response.Redirect("webform2.aspx");
目的:lblEmail.Text=Session["email"].ToString();