標籤:c style class blog java a
http://hljqfl.blog.163.com/blog/static/40931580201122210573364/
在寫ASP.Net程式的時候,我們常常遇到跳轉頁面的問題,我們常常使用Response.Redirect 做ASP.NET架構頁跳轉,假設客戶要在跳轉的時候使用提示,這個就不靈光了,如:
Response.Write("< script>alert(‘恭喜您,注冊成功!‘);< /script>"); Response.Redirect("main.html");
這時候我們的提示內容沒有出來就跳轉了,和Response.Redirect("main.html");沒有不論什麼差別。
這時我們採用以下代碼實驗一下:
ASP.NET架構頁跳轉的還有一實現
Response.Write("< script language=javascript>alert(‘恭喜您,注冊成功!‘)< /script>"); Response.Write("< script language=javascript>window.location.href=‘main.html‘< /script>");
這個即實現了我們的要求,在提示後,跳轉頁面。
最重要的是window.location.href 語句能夠實現一個架構的頁面在運行server端代碼後重新整理還有一個架構的頁面(Response.Redirect無法達到,至少我沒有發現):
如:index.htm頁面中有二個架構,分別為 frameLeft和frameRight,在frameRight頁面中運行server端代碼後重新整理frameLeft中的頁面。
先前最常見的是注冊之後,自己主動重新整理登陸框,讓登陸框換成已登陸頁面,僅僅要在注冊成功的代碼之後加上一段,即能夠實現重新整理另個架構的頁面。代碼例如以下:
Response.Write("< script language=javascript>alert(‘恭喜您,注冊成功!‘)< /script>"); Response.Write("< script language=javascript>window.parent.frameLeft.location.href=‘main.html‘< /script>");
這樣就搞定了ASP.NET架構頁跳轉中斷的問題。
=====================================================================================
"window.location.href"、"location.href"是本頁面跳轉
"parent.location.href"是上一層頁面跳轉
"top.location.href"是最外層的頁面跳轉
舉例說明:
假設A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,假設D中js這樣寫
"window.location.href"、"location.href":D頁面跳轉
"parent.location.href":C頁面跳轉
"top.location.href":A頁面跳轉
假設D頁面中有form的話,
<form>: form提交後D頁面跳轉
<form target="_blank">: form提交後彈出新頁面
<form target="_parent">: form提交後C頁面跳轉
<form target="_top"> : form提交後A頁面跳轉
關於頁面重新整理,D 頁面中這樣寫:
"parent.location.reload();": C頁面重新整理 (當然,也能夠使用子表單的 opener 對象來獲得父表單的對象:window.opener.document.location.reload(); )
"top.location.reload();": A頁面重新整理