Request.UrlReferrer 在页面刷新时为空
Posted
技术标签:
【中文标题】Request.UrlReferrer 在页面刷新时为空【英文标题】:Request.UrlReferrer is coming as null on page refresh 【发布时间】: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 块中??
【参考方案1】:
UrlReferrer
无法由您的服务器端代码控制 - 它只是公开浏览器/客户端与请求一起发送的值。有很多情况下 value 不存在(初始请求/刷新、HTTP/HTTPS 转换),因此您的代码必须能够处理这种情况。
至少您只需要检查null
(如果您需要以一种很好的方式处理来自流氓客户端的请求,您可能还需要处理UriFormatException
):
if (Request.UrlReferrer != null)
// run your code that deals with referrer
【讨论】:
感谢您的解决方案。但在我的情况下,它发生在我尝试刷新页面并显示空值时。检查 Request.UrlReferrer != null 将完成工作??我试过了甚至您给出的解决方案及其工作,但我不确定它会对其余代码产生什么影响。有什么建议吗?? Referrer 可能为空。完全由您决定如何在您的站点中处理该案例。以上是关于Request.UrlReferrer 在页面刷新时为空的主要内容,如果未能解决你的问题,请参考以下文章