HTTP Referrer为null

时间:2014-08-29 15:24:04

标签: c# asp.net

我有一个.NET主页,可以使用其他.NET页面访问它,所以根据最后一页我会在这个页面上做些什么。

但是当我尝试阅读我的最后一页时它会给出null;但它不应该这样给予。

这是我的代码:

Uri ref = Request.UrlReferrer;
string lastpage = ref.ToString();

2 个答案:

答案 0 :(得分:5)

我也遇到过这个问题,问题是 response.redirect

可能的原因

  1. URLReferrer无法使用Redirects

  2. 请记住它的http_referrer而不是https_referrer,所以如果你的上一页是Https,则URLReferrer不起作用

  3. 在浏览器中设置可能会阻止发送数据

  4. 代理服务器或防火墙后面的某些安全软件可能会删除引荐来源信息

  5. 建议

    1. 尝试使用hyperlinks

    2. 尝试使用cross page posting

    3. 可以通过在querystring中使用重定向网址添加refpage名称来解决此问题

       Response.Redirect("mainpage.aspx?prevpage=pagename.aspx"); 
      
    4. 将引用页面名称存储在session中并检入主页

      Session["PREVPAGE"] = "pagename.aspx";
      
    5. 您可以将response.redirect替换为server.transfer并使用以下代码
    6. 主页中的

      this.Page.PreviousPage,但要注意浏览器地址栏中的网址不会改变

答案 1 :(得分:3)

引荐来源依靠浏览器发送信息。如果URL直接输入或从收藏夹中提取,您也可能无法获得推荐人。如果是这种情况,您的ref变量将为null,第二行将抛出NullReferenceException。你需要检查是否为空。