台灣最大程式設計社群網站
線上人數
1426
 
會員總數:245252
討論主題:189111
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 又一個ajax+postback的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
又一個ajax+postback的問題
價值 : 50 QP  點閱數:2964 回應數:8

樓主

黑社會
初學者
210 32
1374 82
發送站內信

不知道有沒有人遇過類似的情形~

A網頁跟B網頁~
A網頁是從其它網頁REDIRECT過來一個帶參數網址的網頁 EX: //localhost/Product.aspx?ProductID=12345
在A網頁上有個BUTTON, 它的POSTBACK URL設為B網頁..
當A網頁POSTBACK到B網頁之後, 在B堶屜reviousPage讀取的結果是error:cannot obtain value

相同條件之下, 如果A網頁是一個不帶參數的網址 EX: //localhost/Product.aspx
Postback到B頁之後, PreviousPage就能正常讀取到..

請問這是什麼問題呢?

本篇文章發表於2008-05-27 14:11
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Jeff
捐贈 VP 給 Jeff 檢舉此回應
B網頁可以由 Me.Request.QueryStrings("ProductID") 來取得傳入的網址參數
本篇文章回覆於2008-05-27 14:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

黑社會
檢舉此回應
Hi Jeff,

有ProductID參數的是A網頁..在B網頁應該讀不到吧..
此外, 我在B網頁堶n抓的並不是那個參數..而是A網頁中某些控制項的值, 所以才需要用到PreviousPage
本篇文章回覆於2008-05-27 14:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

黑社會
檢舉此回應
再補充一下..
我知道有好幾個方法即始不用PreviousPage也能達到我要的需求..
我只是想知道這個問題發生的原因是什麼
本篇文章回覆於2008-05-27 15:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

黑社會
檢舉此回應
補充~
存取PreviousPage時抓到的exception是Thread was being aborted.
本篇文章回覆於2008-05-27 16:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

周小妍
檢舉此回應
我剛剛試了一下
從toA.aspx導到http://localhost/A.aspx?ProductID=12345
然後A.aspx使用AJAX把裡頭的Button包起來, 再把它的POSTBACK URL設成B.aspx
PreviousPage讀取正常
跟你的狀況一模一樣, 可能你多了什麼設定吧!!(所得資訊太少了)
本篇文章回覆於2008-05-27 16:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

黑社會
檢舉此回應
Hi 小妍~

感謝你還測試了一下:)
實際的環境有比較複雜一點...

在A.aspx媊眶oPostback的button是在MasterPage
而且這個button在UpdatePanel外面
我後來測試, 不管這個button有沒有在UpdatePanel堻ㄦ|發生這個錯誤..
本篇文章回覆於2008-05-28 09:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

黑社會
檢舉此回應
hmmm@@
剛剛又試了一下...
如果button在同一個UpdatePanel, 而且也在同一個檔案...
postback到b.aspx之後...也是會讀不到previouspage@@
本篇文章回覆於2008-05-28 09:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

黑社會
檢舉此回應
查出原因了~.~
跟ajax無關, 跟網址列的參數也無關...

結果是多執行緒的問題...
Me.PreviousPage居然是一個獨立instance

當我在B.aspx要存取PreviousPage時, PreviousPage(A.aspx)的FormLoad區段會重新執行一次@@
因此在A.aspx FormLoad堛漪Y些程式碼造成邏輯上的錯誤
本篇文章回覆於2008-05-28 12:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.