掃描二維碼關注

首頁 APP開(kāi)發小(xiǎo)程序開(kāi)發 微信公衆号 網站建設 營銷推廣 經典案列 産品服務 關于我們

“學習(xí)不僅是掌握知識”

向書(shū)本學習(xí),還要向實踐學習(xí)、向生活學習(xí)。消化已有(yǒu)知識,
而且要力求有(yǒu)所發現、有(yǒu)所發明(míng)、有(yǒu)所創造

.net頁面間的(de)參數傳遞簡單實例

2019/3/14 8:48:36

.net頁面間的(de)參數傳遞簡單實例

使用(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

更多可(kě)以了解的(de)信息

客戶案列
新聞資訊
資質榮譽
團隊風采
項目進度查詢

售前QQ咨詢
QQ溝通 項目QQ溝通

精銳軟件(jiàn)

Copyright© 2018-2023 深圳市無窮大軟件技術有限公司 All Rights Reserved. 京ICP證000000号 公安備案号:粵公網安備44030502009460号 深圳市市场监督管理局企业主体身份公示