Posted in Javascript onMarch 01, 2013
问题描述:我们有两个页面A和B,当我们从A跳到B后不做作任何让页面回传的操作,用JS:history.go(-1)就可以回到A页面,但是比如我们有Click,Change事件等激发了页面的回传,此时用history.go(-1)就回不到A页面了。
解决的方法:我们要想办法记录到页面回传的次数N,然后用history.go(-n),就可以回到A页面。
在B页面中放一个控件记录其回传的次数,初始值为1
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> <script> function goto() { var n=document.getElementById("TextBox1").value; var n=Number(n); history.go(-n); } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> <input id="Reset1" type="button" value="reset" onclick="goto()"/> <asp:TextBox ID="TextBox1" runat="server" ToolTip="放一个控件保存页面回传次数">1</asp:TextBox> </div> </form> </body> </html>
在B页面的CS代码如下:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.TextBox1.Text = "1"; } else { this.TextBox1.Text = Convert.ToString(Convert.ToInt16(this.TextBox1.Text) + 1); } }
这样子不管你从A到了B页面,在B页面中做了什么操作,页面回发了多少次,当你点击【返回】时,都可以跳回页面A了
源码下载
js不能跳转到上一页面的问题解决方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@