【问题标题】:Request.UrlReferrer is coming as null on page refreshRequest.UrlReferrer 在页面刷新时为空
【发布时间】:2017-01-13 10:07:19
【问题描述】:

谁能告诉我刷新请求的页面值时如何修改代码。 UrlReferrer 为空。实际上它正在引发异常。我必须处理这个异常。有人知道吗?

【问题讨论】:

  • 抛出异常对象引用未设置为对象实例。我必须处理此异常。
  • modifiy the code - 第 37 行?
  • 异常通常用try/catch处理——第37行?
  • 只有当用户通过上一页的链接到达当前页时,URL Referrer 才会返回一个值。否则,document.referrer 返回一个空字符串。如果您已从安全站点访问该页面,则 url 引荐来源网址也会返回一个空字符串。要解决这个问题,请设置一个变量并在您到达该页面时使用它。 ServerVariables("SCRIPT_NAME") 用于页面,ServerVariables("QUERY_STRING") 用于发送的参数。
  • 我怎样才能把这个放在 try catch 块中??

标签: javascript c# vb.net


【解决方案1】:

UrlReferrer 无法由您的服务器端代码控制 - 它只是公开浏览器/客户端与请求一起发送的值。有很多情况下 value 不存在(初始请求/刷新、HTTP/HTTPS 转换),因此您的代码必须能够处理这种情况。

至少您只需要检查null(如果您需要以一种很好的方式处理来自流氓客户端的请求,您可能还需要处理UriFormatException):

  if (Request.UrlReferrer != null)
  {
       // run your code that deals with referrer
  }

【讨论】:

  • 感谢您的解决方案。但在我的情况下,它发生在我尝试刷新页面并显示空值时。检查 Request.UrlReferrer != null 将完成工作??我试过了甚至您给出的解决方案及其工作,但我不确定它会对其余代码产生什么影响。有什么建议吗??
  • Referrer 可能为空。完全由您决定如何在您的站点中处理该案例。
猜你喜欢
  • 2021-04-15
  • 1970-01-01
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
相关资源
最近更新 更多