這個屬性相信大家一定經常用吧 判斷是否為回發 (切記這是判斷是否回發 而聽到很多人說這是判斷是否第一次載入頁面 還有的說是否為重新整理 )
很多人說做專案時 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了
<protectedinput
type
="hidden"
name
="ispostback"
class
="night"
value
="true"
/>
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....