Re: [問題] ASP.NET的AutoPostBack和Response.Write
※ 引述《shicer (溫暖你我的心)》之銘言:
: 三個問題要請教
: (1)假設在頁面上,有兩個鄰近的DropDownList被設為AutoPostBack = true
: 這樣在點選DropDownList1或DropDownList2的時候頁面就會閃一下
: 現在如果點選DropDownList1
: 趁畫面還沒閃之前很快的再去點一下DropDownList2
: 就會出現一些問題,例如整個頁面就看不到東西了
不知 這個是ASP.NET訊息傳遞機制問題 也許沒有辦法避免
可能要請問內部機制較熟的人了
ASP.NET用了一些javascript來支援訊息傳遞...(參見下面)
: (2)顯示錯誤訊息的時候
: 我用Response.Write("<script>alert('錯誤訊息');</script>");
: 會出現一個MessageBox
: 按下確定之後,再按其他連結連到別的頁面,然後按"上一頁"
: 又會出現那個MessageBox?!
: 而且這時候再按一次"上一頁",還是現在這頁,
: 要再多按一次"上一頁"才會真的回到再上頁
: (就好像那個MessageBox跳出來的那次也算一頁?!)
: AutoPostBack也有類似的問題
: 前述的DropDownList1只要被點選過一次,就要按兩次"上一頁"才可以回到上頁
如果你了一般解動態網頁的機制 就會了解為什麽了...
簡單說當你因為某些原因使得網頁refresh 傳遞訊息回去給server server接收以後
做出適當的反應 再傳給你一個網頁 基本上 這兩個網頁是"不同的"
你也許會疑問 看起完全相同 內容一樣 也都是同樣一頁同網址
但其實兩個網頁是不同的 只是剛好長得一樣 雖然網址一樣~ 但這就是所謂的"動態"網頁
server收到某個網址後 會依照網頁內程式流程跟當下的一些相關資訊 程產生不同的網頁
給你你 所以實際上妳看到的是程式碼產生出來的東西 不是那個程式網頁本身 所以你可以
看到跟他人不同的內容 即使是同一網址 就像不同會員登入到同一頁 看到自己的個人
資料 每個人一定不同....
所以當你按下某個鈕或是選了什麽東西 傳了訊息回到server server會傳一頁新的網頁
當你用javascript再度跳到另一頁 其實已經跳過兩個網頁了 當然你按上一頁就會再跑出
一個警告囉~~ 類推 按兩次上一頁 就真的回到你心中想的"上一頁"了 不知道我這樣說
清不清楚 希望不是胡言亂語(現在好想睡啊XD)
那解決方式就要看你怎麼去應用了 基本上是要配合一點javascript的程式
大概像是:
設定一個條件給javascript作判斷
當條件設為true 就顯示警告 "再設條件為false" 然後自動跳頁
如果是false 就不做任何警告也不跳頁
如果你自動跳頁了 你按上一頁回到這一頁的時候 條件已經為false就不會再跳一次警告
也不會自動跳一頁 內容也會像你心中的上一頁那樣...
: 例如不能 " Name = 'O'Neal' "
" Name = 'O\\'Neal' "
寫法 內容
"ab" => ab
"\"" => "
"'" => '
'"' => "
'\'' => '
"\\" => \
'\\' => '
" Name = 'O\\'Neal' " => Name = 'O\'Neal'
當SQLServer接到這個指令 就會把 Name 設定成 O'Neal 了
請多多看書吧 會有幫助的~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.217.14
※ 編輯: cplusplus 來自: 140.115.217.14 (03/01 05:04)
推
03/01 05:09, , 1F
03/01 05:09, 1F
推
03/01 12:47, , 2F
03/01 12:47, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章