IsPostBack原理詳解

2022-03-02 20:55:00 字數 2288 閱讀 3729

這個屬性相信大家一定經常用吧  判斷是否為回發 (切記這是判斷是否回發  而聽到很多人說這是判斷是否第一次載入頁面  還有的說是否為重新整理 )

很多人說做專案時  pageload事件裡 都要加上

protected

void

page_load(

object

sender, eventargs e) }

但是確不太理解原因   說加上這個肯定沒錯 可是 上篇的例子裡 不就錯了麼? 所以 一定要理解原理~~

為了把這個說清楚 這裡不用asp.net頁面 用html+handler 一般處理程式來講清這個

我先把**貼出來

html的

<

html

xmlns

="">

<

head

>

<

title

>

title

>

head

>

<

body

>

<

form

action

="hello2.ashx"

method

="post"

>

<

input

type

="hidden"

name

="ispostback"

class

="night"

value

="true"

/>

姓名:<

input

type

="text"

id="fasdfasd"

name

="username"

value

="@value"

/><

input

type

="submit"

value

="提交"

/>

@msg

form

>

body

>

html

>

handler的

//得到檔案的全路徑

string

content

=system.io.file.readalltext(fullpath);

//讀取檔案

content

=content.replace(

"@value

",username); content

=content.replace(

"@msg

", msg); context.response.write(content); }

public

bool

isreusable }

這個貼出來 相信大家一看就明白怎麼回事了  我大概說下

上來先執行 handler  因為第一次執行 

context.request[

"ispostback

"]; 肯定是空的 所以直接進入 然後讀取html 把裡面的內容輸出到頁面上 (佔位符@value等 為了實現儲存頁面狀態 模擬asp.net)

這時點提交時 包括以後點提交時 因為有下面這句 所以 ispostback一直就是true了

<

input

type

="hidden"

name

="ispostback"

class

="night"

value

="true"

/>

protected

void

page_load(

object

sender, eventargs e) }

在裡面執行資料繫結 減少不必要的與資料庫互動 

如果不加這個判斷 當你點選按鈕時 每次都是先執行page_load 再執行 事件的

這就造成點一次 按鈕 執行下資料繫結 與資料庫互動很費資源

但加上 這個判斷 則沒有這個問題了~~

IsPostBack原理詳解

這個屬性相信大家一定經常用吧 判斷是否為回發 切記這是判斷是否回發 而聽到很多人說這是判斷是否第一次載入頁面 還有的說是否為重新整理 很多人說做專案時 pageload事件裡 都要加上 但是確不太理解原因 說加上這個肯定沒錯 可是 上篇的例子裡 不就錯了麼?所以 一定要理解原理 為了把這個說清楚 這...

IsPostBack屬性簡介

ispostback是page類的乙個屬性,返回值為乙個布林值。一般放在page load事件中。當頁面是第一次開啟時其值為false,若當前頁面為乙個提交後的頁面其值為true.通俗的說就是當你的頁面第一次登入時會呼叫if ispostback 中的語句,而在此頁面未被關閉之前再次進入該頁面時 例...

IsPostBack深入分析

1 ispostback 介紹 ispostback是 page類有乙個 bool型別的屬性,用來判斷針對當前 form的請求是第一次還是非第一次請求。當 ispostback true時表示非第一次請求,我們稱為 postback,當 ispostback false時表示第一次請求。在 asp....