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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM