选择上一页之前的网址

时间:2011-03-22 09:23:20

标签: asp.net

我有三页,...说Page1,Page2,Page3。

用户点击Page1中的链接并重定向到Page2填写表格和摘要,重定向到第3页(Thankyou.aspx)

我想在Page3中放置一个OK按钮,该按钮应该重定向到Page1。

我不能硬编码它bcoz它应该是动态的

注意:Page1可以是任何其他页面,第2页可以是任何其他形式,但在Page3中我想跟踪进程完成的第一页。

我知道如下:

HttpContext.Current.Request.UrlReferrer

但它会为您提供上一页但不是第一页。

可以实现。

提前致谢

2 个答案:

答案 0 :(得分:1)

最简单的方法是将page1网址存储在用户的会话缓存

Session["page1"] = HttpContext.Current.Request.UrlReferrer

然后当你到达page3时,你可以访问它。确保在使用它之后,将其从会话缓存中删除,以确保您永远不会获得任何旧网址。

答案 1 :(得分:1)

如果您愿意,也可以使用javascript执行此操作。您可以将它直接挂在Ok按钮上,如下所示:

btnOk.Attributes.Add("onClick", "javascript:history.go(-2); return false;");

或者您可以使用ClientScriptManager(来自MSDN)在您的网页上注册:

    // Define the name and type of the client scripts on the page.
    String csname = "GoBackScript";
    Type cstype = this.GetType();          

    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Check to see if the startup script is already registered.
    if (!cs.IsStartupScriptRegistered(cstype, csname))
    {
        String scriptText= "<script type=\"text/javascript\">" +
               "window.history.go(-2);</" + "script>";     
        cs.RegisterStartupScript(cstype , csname, scriptText);
    }