IsPostBack如何在ASP.NET中使用-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)IsPostBack如何在ASP.NET中使用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

目前創(chuàng)新互聯(lián)建站已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、冷水江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

一、IsPostBack介紹:


Page.IsPostBack是一個(gè)標(biāo)志:當(dāng)前請求是否第一次打開。調(diào)用方法為:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者this.Page.IsPostBack,它們都等價(jià)。

1)當(dāng)通過IE的地址欄等方式打開一個(gè)URL時(shí)是第一次打開, 當(dāng)通過頁面的提交按鈕或能引起提交的按鈕以POST的方式提交的服務(wù)器時(shí),頁面就不再是第一次打開了。(每點(diǎn)擊一次按鈕,都是一次加載)

2)IsPostBack只有在第一次打開的時(shí)候是false,其它時(shí)候都是true

3).Net判斷一個(gè)Page是否第一次打開的方法:Request.Form.Count>0

4)每次頁面Load的時(shí)候,根據(jù)需要把每次都要加載的代碼放在IsPostBack中,只需要加載一次的代碼放在if(!IsPostBack)中。

5)每次用戶回傳服務(wù)器任何信息的時(shí)候,都會(huì)引發(fā)isPostBack屬性用來判斷此用戶是否曾經(jīng)做過登陸或者其他事件。

二、關(guān)于IsPostBack的結(jié)論歸納:

對.Net的源代碼中相關(guān)的處理進(jìn)行的分析得到如下的結(jié)論:

1)對于使用Server.Transfer進(jìn)行遷移時(shí)遷移到的頁面其IsPostBack=false。

2)Post方式如果Request中沒有請求值,即Request.Form =null則IsPostBack=false;Get方式如果Request中沒有請求值,即Request.QueryString =null則IsPostBack=false。

3)如果QueryString或Form雖然有請求值,但是QueryString或Form中的Key沒“__VIEWSTATE”和“__EVENTTARGET”和“__VIEWSTATEFIELDCOUNT”,并且沒有鍵為“null”,值以“__VIEWSTATE”開頭并且也沒有值為“__EVENTTARGET”的鍵值對,則IsPostBack=false。

4)使用Response.Redirect方式向自畫面遷移時(shí),此時(shí)IsPostBack=false。

5)發(fā)生跨頁提交(CrossPagePostBack),當(dāng)訪問PreviousPage屬性的時(shí)候,對于源PageIsPostBack=true。

6)發(fā)生跨頁提交(CrossPagePostBack)時(shí)目標(biāo)頁面是IsPostBack=false

7)使用Server.Execute遷移到的頁面其IsPostBack=false。

8)在Page運(yùn)行期間其對應(yīng)的DLL被更新了并且Page的樹結(jié)構(gòu)發(fā)生過變化,這種情況下請求時(shí)IsPostBack=false。

結(jié)論總結(jié):
一般情況判斷Request中如果沒有請求值則IsPostBack=false。如果有請求值但是不包括“__VIEWSTATE”等一些特殊的鍵或值,則IsPostBack=false(每次請求后.Net框架會(huì)將一些特殊的隱藏域“__VIEWSTATE”等返回給客戶端)。還有一些特殊的情形是上面的規(guī)則不能正確判斷的需要特殊處理的,這些情形包括Server.Transfer,Response.Redirect,CrossPagePostBack,Server.Execute,發(fā)生了頁面元素變化及重新編譯。

以上就是IsPostBack如何在ASP.NET中使用,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:IsPostBack如何在ASP.NET中使用-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://muchs.cn/article46/dddieg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、微信公眾號、建站公司網(wǎng)站設(shè)計(jì)公司、靜態(tài)網(wǎng)站、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)