<a href=”test.aspx”></a>
這是最常見的一種轉向方法
<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”test.aspx”>ok</Asp:HyperLink>
Response.Redirect("Default.aspx");
Server.Transfer("Default.aspx");
五、Server.Execute()方法
string str = "<script language=javascript>history.go(-2);</script>"; Response.Write(str);
Response.Write(" <script> window.open( 'Default.aspx '); </script> ");
各種js頁面跳轉代碼
<script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script>
第二種:
<script language="javascript"> alert("返回"); window.history.back(-1); </script> <script language="javascript"> alert("返回"); window.history.back(-1); </script>
<script language="javascript"> window.navigate("top.jsp"); </script> <script language="javascript"> window.navigate("top.jsp"); </script>
Response.Write(" <script language=javascript> window.navigate('Default.aspx'); </script> ");
第四種:
<script language="JavaScript"> self.location=’top.htm’; </script>
第五種:
<script language="javascript"> alert("非法訪問!"); top.location=’xx.jsp’; </script> <script language="javascript"> alert("非法訪問!"); top.location=’xx.jsp’; </script>
=====javascript中彈出選擇框跳轉到其他頁面=====
<script language="javascript"> <!-- function logout()...{ if (confirm("你確定要注銷身份嗎?是-選擇確定,否-選擇取消"))...{ window.location.href="logout.asp?act=logout" } } --> </script> <script language="javascript"> <!-- function logout()...{ if (confirm("你確定要注銷身份嗎?是-選擇確定,否-選擇取消"))...{ window.location.href="logout.asp?act=logout" } } --> </script>
<script language="javascript"> <!-- function logout()...{ alert("你確定要注銷身份嗎?"); window.location.href="logout.asp?act=logout" } --> </script> <script language="javascript"> <!-- function logout()...{ alert("你確定要注銷身份嗎?"); window.location.href="logout.asp?act=logout" } --> </script>
后退一頁
<input type="button" value="返回" onClick="javascript: history.go(-1)">
前進一頁:
刷新(當前頁加載url頁面):
刷新(頂級框架加載url頁面):
框架刷新
"javaScript:window.parent.frames.manframe.location.reload()"
近期在學習高手的一個項目,頁面跳轉用了好多方法,搞得我焦頭爛額,在高手的指點下,終於搞明白了:
頁面跳轉一般分為兩大類:服務器端跳轉和客戶端跳轉,其一般的形式為:
如果你要在服務器端跳轉,可以這樣:
Response.Redirect("WebForm1.aspx");
Response.End();
如果你要在客戶端跳轉,可以這樣:
<script language="javascript" type="text/javascript">
window.location.href="WebForm1.aspx";;
</script>
如果你要讓頁面顯示幾秒鍾之后跳轉,可以在html代碼的<head></head>部分加上這樣的代碼:
<meta http-equiv="refresh" content="3"; url="WebForm1.aspx">
(3秒鍾后自動跳轉到WebForm1.aspx頁面)
以上是實現頁面跳轉的基本方法,現在來看一個例子:我們定義一個頁面,頁面Html如下:
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="JS跳轉" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="CS跳轉" OnClick="Button2_Click" />
</div>
</form>
</body>
在頁面中我定義了兩個跳轉按鈕,其后台代碼如下:
protected void Button1_Click(object sender, EventArgs e)
{
Js_ShowMessage("我要跳轉了");
Js_Redirect("WebForm1.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
Js_ShowMessage("我要跳轉了");
Response.Redirect("WebForm1.aspx");
}
private void Js_ShowMessage( string message)
{
Response.Write("<script language=javascript>alert(\"" + message.Replace("\r\n", "\\n") + "\")</script>");
}
private void Js_Redirect(string url)
{
Response.Write("<script language=javascript>window.location.href='" + url + "'</script>");
}
這兩種跳轉會有什么差別呢?通過執行代碼,當觸發Button1的click事件時,頁面是先顯示了一段信息(“我要跳轉了”)后,跳轉到別的頁面,而觸 發Button2的click事件的時候,頁面直接跳轉,並沒有顯示我們所要求的信息。這是為什么呢?我們明明是要求在顯示一段信息后,在跳轉的阿。
原來,用Response.Redirect實現頁面跳轉的時候,客戶段僅僅是讀取了服務器端發送頁面的頭部,便執行了跳轉,並沒有執行頁面中的JS代 碼,因此沒有顯示我們所要求顯示的信息。二用JS跳轉,客戶段執行了服務器端發送的頁面的js代碼,因此是先顯示了一段代碼后,再實現的跳轉。
由此我們可以看出,用Response.Redirect實現頁面跳轉,比用JS要節省資源。因此我們在后台執行一段代碼后要求頁面跳轉的時候,盡量用Response.Redirect實現頁面跳轉。
但是,有這么一種情況:我要刪除某一項信息,刪除完畢后,我要求先提示一段信息,告訴我信息刪除完畢,然后在跳轉到別的頁面。這時,用Response.Redirect顯然是不能實現的,只能用JS實現頁面的跳轉。
總結:在后台執行一段代碼后要求頁面跳轉的時候,用Response.Redirect實現頁面跳轉。
在后台執行一段代碼,並顯示一條提示信息后要求頁面跳轉的時候,用Response.Redirect實現頁面跳轉。
這里在討論下button控件的onClientClick事件:如下代碼:
<asp:Button ID="Button2" runat="server" Text="CS跳轉" OnClick="Button2_Click" OnClientClick="alert('我要跳轉了');return true;" />
<asp:Button ID="Button2" runat="server" Text="CS跳轉" OnClick="Button2_Click" OnClientClick="alert('我要跳轉了');return false;" />
在onClientClick()事件中,return false 和return true 有什么區別呢?通過執行代碼,可以知道:
當return false時,並不執行頁面的后台代碼。
當return true 時,是要執行頁面的后台代碼的。
這和js中的Confirm對話框是一樣的。
這樣,我們要求先顯示一段信息,再執行一段后台代碼,在實現頁面跳轉的時候,可以在Button加上onClientClick事件。

