2019/3/14 8:48:36
使用(yòng)QueryString 
  使用(yòng)QuerySting在頁面間傳遞值已經是一種很老的(de)機制(zhì)了,這種方法的(de)主要優點是實現起來非常簡單,然而它的(de)缺點是傳遞的(de)值是會(huì)顯示在浏覽器(qì)的(de)地(dì)址欄上(shàng)的(de)(不安全),同時又(yòu)不能(néng)傳遞對象,但(dàn)是在傳遞的(de)值少(shǎo)而安全性要求不高(gāo)的(de)情況下, 這個(gè)方法還是一個(gè)不錯的(de)方案。使用(yòng)這種方法的(de)步驟如(rú)下: 
  1,使用(yòng)控件(jiàn)創建web表單(form) 
  2,創建可(kě)以返回表單的(de)按鈕和(hé)鏈接按鈕 
  3,在按鈕或鏈接按鈕的(de)單擊事件(jiàn)裏創建一個(gè)保存URL的(de)字符變量 
  4,在保存的(de)URL裏添加QueryString參數 
  5,使用(yòng)Response.Redirect重定向到(dào)上(shàng)面保存的(de)URL 
  下面的(de)代碼片斷演示了如(rú)何實現這個(gè)方法: 
  源頁面代碼: 
  private void Button1_Click 
  (object sender, System.EventArgs e) 
  { 
  string url; 
  url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text; 
  Response.Redirect(url); 
  } 
  目标頁面代碼: 
  private void Page_Load 
  (object sender, System.EventArgs e) 
  { 
  Label1.Text=Request.QueryString["name"]; 
  Label2.Text=Request.QueryString["email"]; 
  }   
使用(yòng)Session變量 
  使用(yòng)Session變量是可(kě)以在頁面間傳遞值的(de)的(de)另一種方式,在本例中我們把控件(jiàn)中的(de)值存在Session變量中,然後在另一個(gè)頁面中使用(yòng)它,以不同頁面間實現值傳遞的(de)目的(de)。但(dàn)是,需要注意的(de)是在Session變量存儲過多的(de)數據會(huì)消耗比較多的(de)服務器(qì)資源,在使用(yòng)session時應該慎重,當然了,我們也(yě)應該使用(yòng)一些清理(lǐ)動作來去除一些不需要的(de)session來降低資源的(de)無謂消耗。使用(yòng)Session變量傳遞值的(de)一般步驟如(rú)下: 
  1,在頁面裏添加必要的(de)控件(jiàn) 
  2,創建可(kě)以返回表單的(de)按鈕和(hé)鏈接按鈕 
  3,在按鈕或鏈接按鈕的(de)單擊事件(jiàn)裏,把控件(jiàn)的(de)值添加到(dào)session變量裏 
  4,使用(yòng)Response.Redirect方法重定向到(dào)另一個(gè)頁面 
  5,在另一個(gè)頁面提取session的(de)值,在确定不需要使用(yòng)該session時,要顯式清除它 
  下面的(de)代碼片斷演示了如(rú)何實現這個(gè)方法: 
  源頁面代碼: 
  private void Button1_Click 
  (object sender, System.EventArgs e) 
  { 
  //textbox1 and textbox2 are webform 
  //controls 
  Session["name"]=TextBox1.Text; 
  Session["email"]=TextBox2.Text; 
  Server.Transfer("anotherwebform.aspx"); 
  } 
  目标頁面代碼: 
  private void Page_Load 
  (object sender, System.EventArgs e) 
  { 
  Label1.Text=Session["name"].ToString(); 
  Label2.Text=Session["email"].ToString(); 
  Session.Remove("name"); 
  Session.Remove("email"); 
  }   
使用(yòng)Server.Transfer 
  這個(gè)方法相(xiàng)比上(shàng)面介紹的(de)方法稍微複雜一點,但(dàn)在頁面間值傳遞中卻是特别有(yǒu)用(yòng)的(de),使用(yòng)該方法你(nǐ)可(kě)以在另一個(gè)頁面以對象屬性的(de)方式來存取顯露的(de)值,當然了,使用(yòng)這種方法,你(nǐ)需要額外寫一些代碼以創建一些屬性以便可(kě)以在另一個(gè)頁面訪問它,但(dàn)是,這個(gè)方式帶來的(de)好處也(yě)是顯而易見的(de)。總體來說,使用(yòng)這種方法是簡潔的(de)同時又(yòu)是面向對象的(de)。使用(yòng)這種方法的(de)整個(gè)過程如(rú)下:
  1,在頁面裏添加必要的(de)控件(jiàn) 
  2,創建返回值的(de)Get屬性過程 
  3,創建可(kě)以返回表單的(de)按鈕和(hé)鏈接按鈕 
  4,在按鈕單擊事件(jiàn)處理(lǐ)程序中調用(yòng)Server.Transfer方法轉移到(dào)指定的(de)頁面 
  5,在第二個(gè)頁面中,我們就可(kě)以使用(yòng)Context.Handler屬性來獲得前一個(gè)頁面實例對象的(de)引用(yòng),通過它,就可(kě)以使用(yòng)存取前一個(gè)頁面的(de)控件(jiàn)的(de)值了 。
        

深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04
   咨詢電話(huà):136 8237 6272
   大(dà)客戶咨詢:139 0290 5075
                    業(yè)務QQ:195006118
                    技術(shù)QQ:179981967