在Response.Redirect之后获取上一页网址

时间:2010-09-27 15:43:22

标签: asp.net session response.redirect

我正在尝试在写回复之后获取上一页网址,我浏览了网页,人们正在使用HTTP_REFERER,但这对Response.Redirect无效,所以无论如何获取上一页的URL?

我在几页上有这个代码,我需要知道它到达servererror/default.aspx页面时来自哪个页面

 Response.Redirect("servererror/default.aspx?404")

在我的servererror/default.aspx页面上,我只是想抓住上一页网址并将其放入会话Session("ErrorPage")

由于

杰米

更新

我现在让它像这样工作

Response.Redirect("server-error.aspx?404&" & Request.Url.ToString())

将带有错误的页面的URL传递给下一页,然后我从查询字符串中获取它

由于

杰米

4 个答案:

答案 0 :(得分:6)

您可以将上一页的网址传递给错误页面的网址。

之类的东西

Response.Redirect("servererror/default.aspx?404&url=/folder/page.aspx")

然后在错误页面上获取url值并将其重定向到上一页。

答案 1 :(得分:2)

您可以尝试使用server.transfer来查看它是否填充了HTTP_REFERER值。

答案 2 :(得分:2)

请记住Response.Redirect正在做的事情:它向客户端发出302“found”。此响应代码旨在表明您要搜索的内容不在您请求的位置,而是在其他位置。

鉴于此信息;发布Response.Redirect的页面实际上根本不是'referrer'。这就是为什么引用该页面的页面仍然被报告为被引用的。

如上所述,您应该在URL字符串中包含您要重定向到的任何额外信息,例如当前页面的URL

答案 3 :(得分:1)

我知道这是一个很老的帖子回复即使发布这个问题的人已经找到了解决他的问题的一些解决方法.............但昨天晚上我遇到了同样的困难所以我得到了一个解决方法,正在解决我的问题......

我有2页Page1.aspx和Page2.aspx我在Page1.aspx上有一个Button1和Button2现在当我重定向到Page2.aspx我想要访问被称为上一页的Page1.aspx控件的场景是什么.....所以我使用按钮的PostBackURL但是在那种情况下我没有得到CodeBehind上的Click事件.........所以我应该如何解决这个问题......... ....我做的是我设置了Button2.PostBackURL =“Page2.aspx”,当Button1 Click事件触发时,我正在注册调用Button2.click事件的启动脚本,所以现在我得到了Previous页面控件。 .........

这是代码.....如果有人在寻找相同的功能............他们会在某种意义上得到帮助........

Aspx代码

<asp:Button ID="btnSave" runat="server" Style="font-weight: 700" Text="Save" 
    onclick="btnSave_Click" />

代码隐藏

    protected void btnSave_Click(object sender, EventArgs e){
    try
    {
        StringBuilder objStringBuilder = new StringBuilder();
        objStringBuilder.AppendLine("<script type='text/javascript' language='javascript'>");
        objStringBuilder.AppendLine("document.getElementById('" + btnHidden.ClientID + "').click();");
        objStringBuilder.AppendLine("</script>");

        ClientScript.RegisterStartupScript(Page.GetType(),"Key1", objStringBuilder.ToString());
    }
    catch (Exception ex)
    {
        throw ex;
    }}

的问候,