台灣最具影響力的-資訊專家社群 - 讓您成為最有價值的IT專業人才
線上人數
495
 
會員總數:229121
接案會員:6761
文章總數:2320
討論主題:175183
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 無法回上一頁的原因?

[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
無法回上一頁的原因?
價值 : 20 QP  點閱數:3637 回應數:14

點圖分享到Plurk吧!
樓主

荔枝
中級專家
2304 767
9631 2549
發送站內信

捐贈 VP 給 荔枝
當我們在使用「回上一頁」時,
我知道若程式中使用了history.go(-幾),是要抓其PostBack的次數,次數抓對了才會成功。
所以,我的問題不是這個。
而是「上一頁」與「本頁」都完全沒有做任何特別的設定(例如上一頁不符某些條件就自動轉向本頁等等的...)
在IE7中,用其「回上一頁」鈕,一直無法成功,一直停留在本頁,不知為什麼?
我的狀況是:
原本為「框架頁」,框架頁中的某個按鈕使用parent.location.href=...的方法進入了下一頁(整個畫面變成只有一頁),
此時,我按下了IE7上的「回上一頁」鈕,它卻一直沒反應,一直停留在本頁!
但奇怪的是,我去按「回上一頁鈕旁的小三角形」,選擇其上一頁,一樣沒有效,要選其「上上一頁」才會成功回到上一頁???
請問各位大大們是什麼原因呢?....要如何修正呢?
謝謝!
本篇文章發表於2010-11-18 12:04
什麼是iT Power資訊報 新手會員瞧一瞧
1樓
不錯的參考

小羊窒息
捐贈 VP 給 小羊窒息 檢舉此回應
你試著在按鈕按下時, 先alert('test');
再parent.location.href=....

然後再來按上一頁...


本篇文章回覆於2010-11-18 12:24
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

荔枝
捐贈 VP 給 荔枝 檢舉此回應
小羊大大,我試了,
結果是:
一按「回上一頁」鈕,會出現alert('test')視窗,按下確定後仍是回到本頁,沒有回到上一頁。


本篇文章回覆於2010-11-18 12:46
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

Ku
檢舉此回應
to 荔枝

您說的框架頁是用iframe去作的嗎~ 是的話,當然會按browser上一頁沒法回去囉~


請問各位大大們是什麼原因呢?....要如何修正呢?

在進入此頁時,您一定有重覆load這頁,才會導致回上一頁不行(IE還真聰明...)

利用Page.IsPostBack來檢查是否網頁第一次執行




本篇文章回覆於2010-11-18 13:52
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

荔枝
捐贈 VP 給 荔枝 檢舉此回應
Ku大大...
您所說的那2種情況,
我都沒有。


本篇文章回覆於2010-11-18 14:05
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

Ku
檢舉此回應
Page.IsPostBack 測試結果為一次? 網頁沒有重覆load?




本篇文章回覆於2010-11-18 15:05
--未登入的會員無法查看對方簽名檔--
6樓
不錯的參考

小羊窒息
捐贈 VP 給 小羊窒息 檢舉此回應
當你按下[上一頁], 而[前一頁會跳出 alert + 跳到下一頁]

就表示你的上一頁是[執行alert + 跳到下一頁],

這跟你的頁面設計有關


例如:
A → A的postback頁面 → B頁面
當你在A按下按鈕,由ASP.NET輸出Script之後,進到A的postback,再轉到B頁面,
這時,你只要是回上一頁,就會回到postback之後的結果(於是又再一次的讀到alert + 跳到下一頁)


所以,先檢視一下你的運作模式吧∼


本篇文章回覆於2010-11-18 15:19
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

荔枝
捐贈 VP 給 荔枝 檢舉此回應
多謝小羊大大,我總算了解了!
因為我的上一頁是用Response.Write("<script>parent.location.href='xxx.aspx'</script>");
所以才會一直回不去,我改用Response.Redirect("xxx.aspx");就回得去了!!
但是,又出現了另一個問題:Response.Redirect無法使用Target..!
我的上一頁是框架頁,它顯示下一頁時無法蓋掉整個框架頁...
我又上Google找了好久,答案都是無解,都是說要用我的老方法:
Response.Write("<script>parent.location.href='xxx.aspx'</script>");
看來,這是沒辦法的事了,對吧!?
==================================
回Ku大大: 1:一次,2:沒有。


本篇文章回覆於2010-11-18 15:59
--未登入的會員無法查看對方簽名檔--
8樓
不錯的參考

Ku
檢舉此回應
to 樓主

我搞懂了~~ 下面有範例,這樣作才不會又返回本頁




本篇文章回覆於2010-11-18 16:33
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

荔枝
捐贈 VP 給 荔枝 檢舉此回應
Ku大大,我試了您的方法,還是一樣回不到上一頁。


本篇文章回覆於2010-11-18 16:57
--未登入的會員無法查看對方簽名檔--
10樓
不錯的參考

Ku
檢舉此回應
我想的沒錯的啦~~

您先清掉browser的暫存 ~~ (了解這個問題點了嗎 ... (您的原網頁因為暫存,所以script才會留在上面) )

再試一次~~ ok~~




本篇文章回覆於2010-11-18 17:07
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

荔枝
捐贈 VP 給 荔枝 檢舉此回應
Ku大大,我清掉了暫存,又試了一次,
還是不成功耶?


本篇文章回覆於2010-11-18 17:21
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

荔枝
捐贈 VP 給 荔枝 檢舉此回應
所以,我是不是找到了一個規則啊!?
那就是:
「如果從框架頁中,進入了一個非框架頁,那,就再也回不了上一頁!」,
對嗎?
如果不對,網路上哪堿搊o見活生生的例子啊?




本篇文章回覆於2010-11-18 18:57
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

荔枝
捐贈 VP 給 荔枝 檢舉此回應
補充更正我的語病:
如果規定只能使用按「上一頁按鈕」,而不能用「旁邊的小三角形」的話。


本篇文章回覆於2010-11-18 19:00
--未登入的會員無法查看對方簽名檔--
14樓
最有價值解答

小羊窒息
捐贈 VP 給 小羊窒息 檢舉此回應
http://homepage8.seed.net.tw/web@1/cvdavid/testFrame_index.htm

進到yahoo之後,再按 【瀏覽器的上一頁】 是可以的...
進到另一頁之後,再執行history.go(-1), 也是可以的...




本篇文章回覆於2010-11-18 19:27
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

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