C#(BS)頁面之間傳遞參數(shù)的方法_第1頁
C#(BS)頁面之間傳遞參數(shù)的方法_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 5/5C#(BS)頁面之間傳遞參數(shù)的方法 http:/./doc/b45c5948336c1eb91a375d3f.html 頁面之間傳遞參數(shù)的方法 第一種方法: 通過URL鏈接地址傳遞 send.aspx: protected void Button1_Click(object sender, EventArgs e) Request.Redirect(Default2.aspx?username=honge); receive.aspx: string aaa = Request.QueryStringusername;這樣可以得到參數(shù)值。 第二種方法: 通過post方式。 send.a

2、spx OnClick=Button1_Click Text=Button / receive.aspx string username = Ruquest.Formreceive; 第三種方法: 通過session send.aspx: protected void Button1_Click(object sender, EventArgs e) Sessionusername = 王一; Request.Redirect(Default2.aspx); receive.aspx: string username = Sessionusername.ToString();這樣可以得到參數(shù)值

3、。 第四種方法: 通過Application send.aspx: protected void Button1_Click(object sender, EventArgs e) Applicationusername = honge; Request.Redirect(Default2.aspx); receive.aspx: string username = Applicationusername;這樣可以得到參數(shù)值。 第五種方法: 通過Server.Transfer send.aspx: public string Name get return honge; protected v

4、oid Button1_Click(object sender, EventArgs e) Server.Transfer(Default2.aspx); receive.aspx: send d = Context.Handler as send ; if (d != null) Response.Write(http:/./doc/b45c5948336c1eb91a375d3f.html );這樣可以得到參數(shù)值。 如果在http:/./doc/b45c5948336c1eb91a375d3f.html 2.0中還可以這樣用:通過PreviousPage PreviousPage d =

5、Context.Handler as PreviousPage ; if (d != null) Response.Write(http:/./doc/b45c5948336c1eb91a375d3f.html );這樣可以得到參數(shù)值。 也可以這樣用: send.aspx: PostBackUrl=/reveive.aspx Text=Submit / receive.aspx: string name = http:/./doc/b45c5948336c1eb91a375d3f.html ;這樣可以得到參數(shù)值。 如果你的頁面中用到了MasterPage的話 Server.Transfer 傳

6、遞的 PreviousPage就無效了,不知道這是什么原因.所以在用到MasterPage的話,最好用Session或是Context.Items username來實(shí)現(xiàn). 使用QueryString 使用QuerySting在頁面間傳遞值已經(jīng)是一種很老的機(jī)制了,這種方法的主要優(yōu)點(diǎn)是實(shí)現(xiàn)起來非常簡單,然而它的缺點(diǎn)是傳遞的值是會(huì)顯示在瀏覽器的地址欄上的(不安全),同時(shí)又不能傳遞對象,但是在傳遞的值少而安全性要求不高的情況下,這個(gè)方法還是一個(gè)不錯(cuò)的方案。使用這種方法的步驟如下: 1,使用控件創(chuàng)建web表單(form) 2,創(chuàng)建可以返回表單的按鈕和鏈接按鈕 3,在按鈕或鏈接按鈕的單擊事件里創(chuàng)建一個(gè)保

7、存URL的字符變量 4,在保存的URL里添加QueryString參數(shù) 5,使用Response.Redirect重定向到上面保存的URL 下面的代碼片斷演示了如何實(shí)現(xiàn)這個(gè)方法: 源頁面代碼: private void Button1_Click (object sender, System.EventArgs e) string url; url=anotherwebform.aspx?name= + TextBox1.Text + Response.Redirect(url); 目標(biāo)頁面代碼: private void Page_Load (object sender, System.Ev

8、entArgs e) Label1.Text=Request.QueryStringname; Label2.Text=Request.QueryStringemail; 使用Session變量 使用Session變量是可以在頁面間傳遞值的的另一種方式,在本例中我們把控件中的值存在Session變量中,然后在另一個(gè)頁面中使 用它,以不同頁面間實(shí)現(xiàn)值傳遞的目的。但是,需要注意的是在Session變量存儲過多的數(shù)據(jù)會(huì)消耗比較多的服務(wù)器資源,在使用session時(shí)應(yīng)該慎重,當(dāng)然了,我們也應(yīng)該使用一些清理動(dòng)作來去除一些不需要的session來降低資源的無謂消耗。使用Session變量傳遞值的一般步驟如

9、下: 1,在頁面里添加必要的控件 2,創(chuàng)建可以返回表單的按鈕和鏈接按鈕 3,在按鈕或鏈接按鈕的單擊事件里,把控件的值添加到session 變量里 4,使用Response.Redirect方法重定向到另一個(gè)頁面 5,在另一個(gè)頁面提取session的值,在確定不需要使用該session時(shí),要顯式清除它 下面的代碼片斷演示了如何實(shí)現(xiàn)這個(gè)方法: 源頁面代碼: private void Button1_Click (object sender, System.EventArgs e) file:/textbox1 and textbox2 are webform file:/controls Sess

10、ionname=TextBox1.Text; Sessionemail=TextBox2.Text; Server.Transfer(anotherwebform.aspx); 目標(biāo)頁面代碼: private void Page_Load (object sender, System.EventArgs e) Label1.Text=Sessionname.ToString(); Label2.Text=Sessionemail.ToString(); Session.Remove(name); Session.Remove(email); 使用Server.Transfer 這個(gè)方法相比上面

11、介紹的方法稍微復(fù)雜一點(diǎn),但在頁面間值傳遞中卻是特別有用的,使用該方法你可以在另一個(gè)頁面以對象屬性的方式來存取顯露的值,當(dāng)然了,使用這種方法,你需要額外寫一些代碼以創(chuàng)建一些屬性以便可以在另一個(gè)頁面訪問它,但是,這個(gè)方式帶來的好處也是顯而易見的。總體來說,使用這種方法是簡潔的同時(shí)又是面向?qū)ο蟮?。使用這種方法的整個(gè)過程如下: 1,在頁面里添加必要的控件 2,創(chuàng)建返回值的Get屬性過程 3,創(chuàng)建可以返回表單的按鈕和鏈接按鈕 4,在按鈕單擊事件處理程序中調(diào)用Server.Transfer方法轉(zhuǎn)移到指定的頁面 5,在第二個(gè)頁面中,我們就可以使用Context.Handler屬性來獲得前一個(gè)頁面實(shí)例對象的引

12、用,通過它,就可以使用存取前一個(gè)頁面的控件的值了 以下代碼綜合實(shí)現(xiàn)上述步驟過程的代碼: 源頁面代碼: 把以下的代碼添加到頁面中 public string Name get return TextBox1.Text; public string EMail get return TextBox2.Text; 然后調(diào)用Server.Transfer方法 private void Button1_Click (object sender, System.EventArgs e) Server.Transfer(anotherwebform.aspx); 目標(biāo)頁面代碼: private void Page_Load (object sender, System.EventArgs e) file:/create instance of source web form WebForm1 wf1; file:/get reference to current handler instance wf1=(WebForm1)Context.Handler; Label1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論