出乎你的想象:window.open與location.replace對asp.net頁面的影響

一個頁面:update.aspx,繼承了一個基類sitebase,在sitebase中將檢查保存了用戶信息類的session是否存在,否則轉向登錄頁面。

第一次訪問update.aspx,轉向登錄頁面,這沒有問題。登錄後直接返回了update.aspx頁面,顯示正常
在站內隨意瀏覽,而後又回到update.aspx頁面,此時,被導向了登錄頁面。事實上此時session並沒有超時,且訪問update.aspx頁面時,竟然無法跟蹤頁面的任何事件(包括基類),但是通過轉向登錄頁面的信息發現是由基類的檢測程序執行的轉向----問題是:此時頁面設置的端點根本沒有被命中就直接轉向了。。。。

過去了很久的時間,一直沒有找到問題之所在。。。。。。

後來發現,登錄後通過<a href=update.aspx>鏈接過去的update.aspx頁面正常,不會被轉向,而通過導航菜單(JS生成)點擊到update.aspx頁面時,就會被引導到登錄頁面

把導航菜單的js代碼中window.open('update.aspx','_self')改爲document.location.replace('update.aspx'),頁面正常了

這難道不是一件很荒唐的事情麼??

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章