2012-02-09 126 views
0

我想在弹出窗口中添加后退按钮。但我有问题,因为我得到了403错误。我也尝试了Request.UrlReferrer.ToString()。只需右键单击并选择返回工作,客户端不需要弹出stnard IE后退按钮的工具栏。有什么建议么?自定义后退按钮

Protected prevPage As String = String.Empty 
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    If Not IsPostBack Then 
     prevPage = Request.ServerVariables("HTTP_Referer") 
    End If 
End Sub 

Protected Sub Back_Click(ByVal sender As Object, ByVal e As EventArgs) 
    Response.Redirect(prevPage) 
End Sub 

回答

1

使用javascript而不是回发。

<asp:HyperLink ID="lnk" runat="server" NavigateUrl="#" onClientClick="history.go(-1);" Text="Go Back" /> 

这将可能在代码被修改的背后,但是这可能仅仅简单地是一个标准的<a>元件一个asp.net控制。

编辑:
如果您有多个回发发生在页面上,历史可能不会对他们正常工作。您可能必须放入跟踪器,并根据发生的回发数来更改整数。此外,如果您有多个回复到单个页面,则离开该页面,“回”可能会导致返回页面发布不正确的帖子。

+0

是的我只是发现我做了onclientclick =“javascript:history.back(); return false;”和一切工作 – cjohnson2136 2012-02-09 17:39:52

+0

@ cjohnson2136:不知道你是否看到我的编辑,但要注意这种方法的陷阱和陷阱。 – 2012-02-09 17:41:52

+0

以及它来自的页面只有一个选项。您只能从发送回该页面的那个页面访问此页面 – cjohnson2136 2012-02-09 17:44:28