ASP.NET跨页面传值——QueryString

ASP.NET跨页面传值

      跨页面传值是学习asp.net初期都会遇到的的一个问题,但总结下来,跨页面传值常用的有QueryString,Session,Cookies,Application等几种。

      那么现在就简单说下第一种方法——QueryString ( Request/Response )。

QueryString

      QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。

这种方法的优点:

      1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效。  

这种方法的缺点:

      1.缺乏安全性,由于它的值暴露在浏览器的URL地址中的。
  2.不能传递对象。

使用方法:

      1.在源页面的代码中用需要传递的名称和值构造URL地址。
  2.在源页面的代码用Response.Redirect(URL);重定向到上面的URL地址中。
  3.在目的页面的代码使用Request.QueryString["name"];取出URL地址中传递的值。

       Request —— 获取请求对象

       Response —— 响应对象

注意:不同浏览器URL最大长度(字符数)也不相同

IE:2048

Firefox (Browser):65,536 (实际达不到)

Google (chrome):8182 

例1:

   页面(一)a.aspx

private void Button1_Click(object sender, System.EventArgs e) 
{ 
  string s_url; 
  s_url = "b.aspx?name=" + Label1.Text; 
  Response.Redirect(s_url); 
}

页面(二)b.aspx
private void Page_Load(object sender, EventArgs e) 
{ 
  Label2.Text = Request.QueryString["name"]; 
}

例2:

   页面(一)a.aspx


private void Button1_Click(object sender, System.EventArgs e) 
{ 
  string s = TextbBox1.Text;
  Response.Redirect("b.aspx?name=" + s);   //括号双引号中字符串不能有空格,除非必需;
}                                                      //多参数 : 字符串拼接方法 - ("b.aspx?name=" + s + "&pwd=" + pwd)


页面(二)b.aspx

private void Page_Load(object sender, EventArgs e) 
{ 
  Label2.Text = Request["name"]; 
}
 
posted @ 2017-08-13 00:38  御风飞舞  阅读(2617)  评论(0编辑  收藏  举报