js不能跳转到上一页面的问题解决方法
                        
                            时间:2021-07-01 10:21:17
                            帮助过:28人阅读
							                        
                     
                    
                    
            问题描述:我们有两个页面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了 
源码下载