超链接返回到asp .net的上一页

本文关键字:一页 net asp 返回 超链接 | 更新日期: 2023-09-27 17:49:36

我有一个网页在asp .net (http://localhost/error/pagenotfound).

在页面中有一个链接,点击它必须从我来的地方回到上一页。

<a href="#">Go Back to Previous Page.</a> 

如何从历史记录返回到上一页

超链接返回到asp .net的上一页

你可以这样做:

<a href='javascript:history.go(-1)'>Go Back to Previous Page</a>

如果您使用的是asp.net,那么请记住

javascript:history.go(-1)

window.history.back()

都将带您到最后一页。
但是上一页并不完全是上一页。

例如

假设你在Default.aspx页,有一个asp:button
现在,当你点击按钮,你又回到了Default.aspx
在这种情况下,您的上一个页面仍然是您的Default.aspx

再举一个例子
你有两页Default1.aspxDefault2.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);
 }

For转到上一页

第一个方法

<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=" &lt;-- 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/>");
}

这是关于使用一个按钮跳转到下一页,你可以根据你的变化修改它。

以शेखर

为例

我建议这样做,并避免在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);

这将始终保存您的页面。

希望能有所帮助。

我整个周末都在看这个,还没有找到我想要的答案。问题是,在回发历史记录之后。go(-1);不会回到你想去的地方——也就是说,到达那里的页面(有任何更改)。

使用Request.UrlReferrer.ToString

();将重新加载您要返回的页面,您可能像我一样,不希望丢失对页面所做的任何更改。以上Rizwan Gill在2013年找到了你想要回到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>

在你的c#代码中这样写:

Response.Write("<script>history.go(-1);</script>");