我在 asp .net 中有一个页面(http://localhost/error/pagenotfound).
页面中有一个链接,单击该链接必须返回到我来自的上一页。
<a href="#">Go Back to Previous Page.</a>
如何从历史记录中返回上一页
我在 asp .net 中有一个页面(http://localhost/error/pagenotfound).
页面中有一个链接,单击该链接必须返回到我来自的上一页。
<a href="#">Go Back to Previous Page.</a>
如何从历史记录中返回上一页
你可以使用这个:
<a href='javascript:history.go(-1)'>Go Back to Previous Page</a>
如果您使用的是 asp.net,请记住
javascript:history.go(-1)
和
window.history.back()
两者都将带您返回页面。
但前一页不会完全是前一页。
假设您在页面上并且
当您单击按钮时Default.aspx
有一个现在,并且在这种情况下您又回到了上一页仍然是您的 Default.aspxasp:button
Default.aspx
再举一个例子
,
您有两个页面Default1.aspx
,Default2.aspx
条件 1 :- 单击按钮Default1.aspx
将您重定向到Default2.aspx
ok 您的上一页是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);
}
转到上一页
第一种方法
<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........
使用此代码
<html>
<head>
<script>
function goBack()
{
window.history.back()
}
</script>
</head>
<body>
<a href="#" onclick="goBack()">Back</a>
</body>
</html>
我找到了这个例子
<input type="button" value=" <-- BACK " onclick="history.go(-1);return false;">
只需将此页面放在您的页面上,它就可以正常工作。
您应该添加一个关于 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/>");
}
这是关于使用按钮转到上一页,您可以根据您的更改进行修改。
我整个周末都在看这个,但没有找到我想要的答案。问题是,在回发 history.go(-1); 之后 不会回到您想去的地方 - 即让您到达那里的页面(进行任何更改)。
使用 Request.UrlReferrer.ToString(); 将重新加载您要返回的页面,您可能和我一样,不想丢失对页面所做的任何更改。在 2013 年的 Rizwan Gill 上方,您找到了您想要返回 2、3 或 4 页的答案,但他没有给出一个好的方法。
执行此操作的最佳方法实际上是在调用页面时使用弹出模式,如果您正在编写调用页面,但如果您想这样做并且有一个后退按钮,您必须记住每个回发并计算它们。
因此,从您的隐藏字段开始(在您的 .aspx 文件中):
<asp:hiddenfield id="fldPostbackCount"
value="0"
runat="server"/>
然后在每次回发时增加值(在您的 .aspx.vb 文件中):
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()
(我确信 .cs 的人可以处理这个到 C 的转换)
现在回到你的 .aspx 文件,你必须有一个历史按钮:
<a href="javascript:history.go(-<%: fldPostbackCount.Value %>)" title="Back to Previous Page">Back to Previous Page</a>
以शेखर为例
我建议执行以下操作,并在回发时避免 url 上的任何循环。
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。
希望能帮助到你。
在您的 C# 代码中,只需编写以下代码:
Response.Write("<script>history.go(-1);</script>");