Post和Get的區(qū)別(兼談頁面間傳值的方式)

Post和Get的區(qū)別(兼談頁面間傳值的方式)

ID:40566009

大?。?1.50 KB

頁數(shù):3頁

時間:2019-08-04

Post和Get的區(qū)別(兼談頁面間傳值的方式)_第1頁
Post和Get的區(qū)別(兼談頁面間傳值的方式)_第2頁
Post和Get的區(qū)別(兼談頁面間傳值的方式)_第3頁
資源描述:

《Post和Get的區(qū)別(兼談頁面間傳值的方式)》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、Post和Get的區(qū)別(兼談頁面間傳值的方式)從一個頁面轉向另一個頁面的請求方式有兩種,Post和Get.如果從原理上來探究他們的區(qū)別,涉及到Http傳輸協(xié)議的細節(jié),本文不加探究,只討論一下表象。所有的人都知道如下區(qū)別:1.Post傳輸數(shù)據(jù)時,不需要在URL中顯示出來,而Get方法要在URL中顯示。2.Post傳輸?shù)臄?shù)據(jù)量大,可以達到2M,而Get方法由于受到URL長度的限制,只能傳遞大約1024字節(jié).3.Post顧名思義,就是為了將數(shù)據(jù)傳送到服務器段,Get就是為了從服務器段取得數(shù)據(jù).而Get之所以也能傳

2、送數(shù)據(jù),只是用來設計告訴服務器,你到底需要什么樣的數(shù)據(jù).Post的信息作為http請求的內容,而Get是在Http頭部傳輸?shù)?。我們的form表單的method方法,有兩個,post,get.它在頁面?zhèn)髦档臅r候的區(qū)別也就是上面提到的三點.先來看一下post方法.這個方法在asp時代應該跟程序員打交道很多的,因為那時候沒有現(xiàn)在的ViewState,每個頁面要恢復原來的狀態(tài),都要將頁面Post給自身,然后挨個取值,重新賦值.現(xiàn)在這些瑣碎的事情都讓ViewState代勞了.所以將頁面post給自身的動作,在某種程度

3、上已經(jīng)被Asp.net的程序員們忘卻了,所以Post也就被大部分的忽視了,這就是技術進步的雙刃劍,帶來方便的同時,蒙上你的眼睛。ViewState必須包含在的窗體下,而只要包含了"runat="server""的標志,就甭想Post到其他頁面中去,為什么?老蓋說,我的ViewState是保存當前頁面狀態(tài)的,你要轉到其他頁面,他說,不行,**不認識的參數(shù).如果想Post一個窗體,咋辦?有四種方式可供選擇.1.在頁面上新建一個form,不要加上runat="server"

4、的標志,當然在這個窗體下的控件也就不用想用Viewstate來傳值了.當在其他有runat="server"的窗體的中的按鈕事件中,手動調用新建form的submit()函數(shù).傳送頁面代碼如下:????????????????????????

5、ut?type="text"?runat="server"?id="SourceData">????????????????????????????????????????????????function?post()????

6、????????{????????????????forPost.action="DestinationPage.aspx";????????????????forPost.submit();????????????}????????接收頁面string?a=Request.Form["SourceData2"].ToString();2.通過Session取值,在一個頁面中賦值,在其他頁面中共享,這個方式也被廣泛應用,個人不傾向于用這種方式,我怕造成Session值的混亂無序,Sessi

7、on用來存一些公共的東西已經(jīng)累得夠嗆了。3.通過Context傳值,在傳送頁面之前,將需要傳遞到其他頁面的值存在Context中。示例代碼如下:傳送頁面//點擊某個button時觸發(fā)private?void?btnTransfer_ServerClick(object?sender,?EventArgs?e)????????{????????????Context.Items["SourceData"]=SourceData.Value;????????????Server.Transfer("Destin

8、ationPage.aspx");????????}接收頁面string?a=Context.Items["SourceData"].ToString();4.通過Server.Transfer的方式。這個方式在方法三種已經(jīng)用到了,不過可以在調用頁面為要傳遞到被調用頁面的值創(chuàng)建屬性(當然可以直接將它設成public),這樣就可以在其他頁面訪問了。傳送頁面//要傳送的值private?System.Web.UI.H

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。