當用戶瀏覽網頁的時候會在某個地方需要用戶登陸才能繼續瀏覽,用戶登陸之后會自動跳轉到剛剛瀏覽的頁面。這個步驟是怎么實現的呢?net小伙在查閱相關資料實踐之后終于明白了,其實很簡單,先分享給大家吧。
當用戶在瀏覽一個頁面的時候,如果需要登錄,就在此頁面記錄當前的URL,然后傳到都登錄頁面,登錄成功之后,通過接收的值返回到上一個頁面。這里有兩種方法:
①:通過頁面傳值的方法:
先獲取當前頁面的URL:string ?url =?Request.UrlReferrer;
通過代碼進行傳值:Response.Redirect( "/login.aspx?url= "+System.Web.HttpUtility.UrlEncode(url));?
登錄成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Request.QueryString[ "url "].ToString()));
完成上面的步驟就可以實現跳轉上一個頁面了。
②:通過設置Session的值來實現此功能:
同樣先獲取當前頁面的URL:string ?url =?Request.UrlReferrer;
然后設置Session的值:Session["url"] = url;
登錄成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Session["url"].ToString()));
OK!完成任務。
不過net小伙在測試的時候發現這兩種方法只適用于同一個文件夾中,如圖:
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
如果正在瀏覽aindex.aspx需要登錄,跳轉到login.aspx,登錄之后瀏覽器就會報錯,不會回到aindex.aspx,這個問題現在正困擾著net小伙,如果有可以解決此問題的還請不吝賜教!