

下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 5/5C#(BS)頁(yè)面之間傳遞參數(shù)的方法 http:/./doc/b45c5948336c1eb91a375d3f.html 頁(yè)面之間傳遞參數(shù)的方法 第一種方法: 通過(guò)URL鏈接地址傳遞 send.aspx: protected void Button1_Click(object sender, EventArgs e) Request.Redirect(Default2.aspx?username=honge); receive.aspx: string aaa = Request.QueryStringusername;這樣可以得到參數(shù)值。 第二種方法: 通過(guò)post方式。 send.a
2、spx OnClick=Button1_Click Text=Button / receive.aspx string username = Ruquest.Formreceive; 第三種方法: 通過(guò)session send.aspx: protected void Button1_Click(object sender, EventArgs e) Sessionusername = 王一; Request.Redirect(Default2.aspx); receive.aspx: string username = Sessionusername.ToString();這樣可以得到參數(shù)值
3、。 第四種方法: 通過(guò)Application send.aspx: protected void Button1_Click(object sender, EventArgs e) Applicationusername = honge; Request.Redirect(Default2.aspx); receive.aspx: string username = Applicationusername;這樣可以得到參數(shù)值。 第五種方法: 通過(guò)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中還可以這樣用:通過(guò)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ù)值。 如果你的頁(yè)面中用到了MasterPage的話 Server.Transfer 傳
6、遞的 PreviousPage就無(wú)效了,不知道這是什么原因.所以在用到MasterPage的話,最好用Session或是Context.Items username來(lái)實(shí)現(xiàn). 使用QueryString 使用QuerySting在頁(yè)面間傳遞值已經(jīng)是一種很老的機(jī)制了,這種方法的主要優(yōu)點(diǎn)是實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單,然而它的缺點(diǎn)是傳遞的值是會(huì)顯示在瀏覽器的地址欄上的(不安全),同時(shí)又不能傳遞對(duì)象,但是在傳遞的值少而安全性要求不高的情況下,這個(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è)方法: 源頁(yè)面代碼: private void Button1_Click (object sender, System.EventArgs e) string url; url=anotherwebform.aspx?name= + TextBox1.Text + Response.Redirect(url); 目標(biāo)頁(yè)面代碼: private void Page_Load (object sender, System.Ev
8、entArgs e) Label1.Text=Request.QueryStringname; Label2.Text=Request.QueryStringemail; 使用Session變量 使用Session變量是可以在頁(yè)面間傳遞值的的另一種方式,在本例中我們把控件中的值存在Session變量中,然后在另一個(gè)頁(yè)面中使 用它,以不同頁(yè)面間實(shí)現(xiàn)值傳遞的目的。但是,需要注意的是在Session變量存儲(chǔ)過(guò)多的數(shù)據(jù)會(huì)消耗比較多的服務(wù)器資源,在使用session時(shí)應(yīng)該慎重,當(dāng)然了,我們也應(yīng)該使用一些清理動(dòng)作來(lái)去除一些不需要的session來(lái)降低資源的無(wú)謂消耗。使用Session變量傳遞值的一般步驟如
9、下: 1,在頁(yè)面里添加必要的控件 2,創(chuàng)建可以返回表單的按鈕和鏈接按鈕 3,在按鈕或鏈接按鈕的單擊事件里,把控件的值添加到session 變量里 4,使用Response.Redirect方法重定向到另一個(gè)頁(yè)面 5,在另一個(gè)頁(yè)面提取session的值,在確定不需要使用該session時(shí),要顯式清除它 下面的代碼片斷演示了如何實(shí)現(xiàn)這個(gè)方法: 源頁(yè)面代碼: 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)頁(yè)面代碼: 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),但在頁(yè)面間值傳遞中卻是特別有用的,使用該方法你可以在另一個(gè)頁(yè)面以對(duì)象屬性的方式來(lái)存取顯露的值,當(dāng)然了,使用這種方法,你需要額外寫(xiě)一些代碼以創(chuàng)建一些屬性以便可以在另一個(gè)頁(yè)面訪問(wèn)它,但是,這個(gè)方式帶來(lái)的好處也是顯而易見(jiàn)的。總體來(lái)說(shuō),使用這種方法是簡(jiǎn)潔的同時(shí)又是面向?qū)ο蟮摹J褂眠@種方法的整個(gè)過(guò)程如下: 1,在頁(yè)面里添加必要的控件 2,創(chuàng)建返回值的Get屬性過(guò)程 3,創(chuàng)建可以返回表單的按鈕和鏈接按鈕 4,在按鈕單擊事件處理程序中調(diào)用Server.Transfer方法轉(zhuǎn)移到指定的頁(yè)面 5,在第二個(gè)頁(yè)面中,我們就可以使用Context.Handler屬性來(lái)獲得前一個(gè)頁(yè)面實(shí)例對(duì)象的引
12、用,通過(guò)它,就可以使用存取前一個(gè)頁(yè)面的控件的值了 以下代碼綜合實(shí)現(xiàn)上述步驟過(guò)程的代碼: 源頁(yè)面代碼: 把以下的代碼添加到頁(yè)面中 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)頁(yè)面代碼: 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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中職旅游政策與法規(guī)課件
- 教育法規(guī)在職業(yè)教育中的實(shí)施與挑戰(zhàn)
- 企業(yè)安全與數(shù)據(jù)保護(hù)技術(shù)應(yīng)用場(chǎng)景
- 數(shù)字化教育背景下教師角色的轉(zhuǎn)變與挑戰(zhàn)
- 專(zhuān)題04 薦信 感謝信 倡議書(shū)(講義)(解析版)-2025年高考英語(yǔ)二輪復(fù)習(xí)
- 教育國(guó)際化背景下的培訓(xùn)機(jī)構(gòu)品牌塑造
- 新時(shí)代下的基礎(chǔ)教育課程改革探討特別關(guān)注未來(lái)幾年內(nèi)的發(fā)展
- 基礎(chǔ)護(hù)士眼科常考題庫(kù)及答案
- 教育建筑中生態(tài)屋頂?shù)囊?guī)劃與設(shè)計(jì)思考
- 2025年四川省瀘州市物理高二第二學(xué)期期末考試模擬試題含解析
- 周邊傳動(dòng)刮吸泥機(jī)操作維護(hù)培訓(xùn)手冊(cè)
- 2024版國(guó)開(kāi)電大法律事務(wù)專(zhuān)科《刑法學(xué)(2)》期末考試總題庫(kù)
- 高原健康知識(shí)講座
- 制程稽核技巧
- 2024年中煤平朔發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 《建筑基坑工程監(jiān)測(cè)技術(shù)標(biāo)準(zhǔn)》(50497-2019)
- 2023年法考鐘秀勇講民法講義電子版
- 大學(xué)軍事理論課教程第四章現(xiàn)代戰(zhàn)爭(zhēng)第一節(jié) 戰(zhàn)爭(zhēng)概述
- 汽車(chē)起重機(jī)吊裝作業(yè)知識(shí)-2
- 四川省地圖矢量經(jīng)典模板(可編輯)
評(píng)論
0/150
提交評(píng)論