我在asp .net (http://localhost/error/pagenotfound).
页面上有一个链接,点击后必须返回我来自的上一页。
<a href="#">Go Back to Previous Page.</a>
如何从历史记录
返回上一页答案 0 :(得分:29)
你可以用这个:
<a href='javascript:history.go(-1)'>Go Back to Previous Page</a>
答案 1 :(得分:22)
如果您使用的是asp.net,请记住
javascript:history.go(-1)
和
window.history.back()
两者都会带你回到页面。
但上一页不会完全是上一页。
假设您在页面Default.aspx
上,并且有一个asp:button
现在,当您点击按钮并返回Default.aspx
时
在这种情况下,您的上一页仍然是Default.aspx
再考虑一下
您有两页Default1.aspx
和Default2.aspx
条件1 : - 点击Default1.aspx
上的按钮,将您重定向到Default2.aspx
好的,你的上一页是Default1.aspx
条件2 : - 点击Default1.aspx
上的按钮并在同一Default1.aspx
页面上发回
现在您的上一页仍为Default1.aspx
修改强>
protected void Page_Load(object sender, EventArgs e)
{
if( !IsPostBack )
{
ViewState["RefUrl"] = Request.UrlReferrer.ToString();
}
}
并在后退按钮中使用此按钮如下
protected void Button3_Click(object sender, EventArgs e)
{
object refUrl = ViewState["RefUrl"];
if (refUrl != null)
Response.Redirect((string)refUrl);
}
答案 2 :(得分:7)
使用此代码
<html>
<head>
<script>
function goBack()
{
window.history.back()
}
</script>
</head>
<body>
<a href="#" onclick="goBack()">Back</a>
</body>
</html>
答案 3 :(得分:7)
转到上一页
第一种方法
<a href="javascript: history.go(-1)">Go Back</a>
第二种方法
<a href="##" onClick="history.go(-1); return false;">Go back</a>
如果我们想要退回一步以上,那就增加
For going 2 steps back history.go(-2)
For going 3 steps back history.go(-3)
For going 4 steps back history.go(-4)
and so on........
答案 4 :(得分:4)
我找到了这个例子
<input type="button" value=" <-- BACK " onclick="history.go(-1);return false;">
只需把它放在你的页面上,就可以了。
答案 5 :(得分:2)
你应该添加一个关于onclick的属性,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
yourButton.Attributes.Add("onClick", "javascript:history.back(); return false;");
}
protected void yourButtonClick(object sender, EventArgs e)
{
Response.Write("Stackoverflow <br/>");
}
这是关于使用按钮转到上一页,您可以根据您的更改进行修改。
答案 6 :(得分:0)
我整个周末一直在看这个,但没有找到我想要的答案。问题是,在回发history.go(-1)之后;不会回到你想去的地方 - 也就是说,那里有你的页面(做了任何改动)。
使用Request.UrlReferrer.ToString();将重新加载您要返回的页面,您可能会像我一样,不想丢失对页面所做的任何更改。 2013年Rizwan Gill上面的答案是你要回2,3或4页,但他没有给出好的方法。
实现此目的的最佳方法实际上是在您调用页面时使用弹出模式,如果您正在编写调用页面,但如果您想这样做并且有一个后退按钮,那么您将拥有该模式记住每个回发并计算它们。
所以,从您的隐藏字段(在.aspx文件中)开始:
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
fldPostbackCount.Value = 1
Else
fldPostbackCount.Value = Int32.Parse(fldPostbackCount.Value) + 1
End If
End Sub ' Page_Load()
然后使用每个回发(在.aspx.vb文件中)增加值:
<a href="javascript:history.go(-<%: fldPostbackCount.Value %>)" title="Back to Previous Page">Back to Previous Page</a>
(我确定.cs人可以在此处理到C转换)
现在回到你的.aspx文件,你必须有一个历史记录按钮:
$(document).ready(function(){
$(".menu-button").click(function(){
$(".menu-bar").toggleClass( "open" );
})
})
答案 7 :(得分:0)
以शेखर
为例我建议执行以下操作,并在回发时避免在网址上进行任何循环。
string from = Request.UrlReferrer.ToString();
string here = Request.Url.AbsoluteUri.ToString();
if(from != here)
Session["page"] = Request.UrlReferrer.ToString();
点击按钮
object refUrl = Session["page"];
if (refUrl != null)
Response.Redirect((string)refUrl);
这将始终保存您来自的PAGE。
希望它有所帮助。
答案 8 :(得分:0)
在您的C#代码中编写以下代码:
Response.Write("<script>history.go(-1);</script>");