UrlReferrer为空的问题?

简介: 官方解释:获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL。 1.也就是说,如果用Request.Redirect之后,再用Request.UrlReferrer是得不到前一个页面的链接的,因为这不是客户端的请求。

官方解释:获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL。

1.也就是说,如果用Request.Redirect之后,再用Request.UrlReferrer是得不到前一个页面的链接的,因为这不是客户端的请求。

2.既然服务端不行,那换个思路:在客户端用js导航如何?比如下面这样

A.aspx上用window.location='B.aspx'

但实践证明在B.aspx上用Request.UrlReferrer仍然为空,即js导航也不行!

3.用A链接试一下

A.aspx上写一段html代码:

<a href='B.aspx'>B.aspx</a>

这回在B.aspx上用Request.UrlReferrer到是能正确获取前一个页的地址,即A.aspx

但很多情况下,我们需要在代码中处理完一些逻辑后让浏览器自动跳转,不可能每次都让用户多做一些无谓的点击(显然有点"傻"),难道就没招了吗?


既然用a链接点击过去后能识别出来,那我们就用js模拟一次用户的点击吧(有点“耍赖”,呵呵),把a.aspx代码改一下:

    <a href="B.aspx" id="Test">B.aspx</a>
   
    <script type="text/javascript">
        document.getElementById("Test").click();
    </script>

这回皆大欢喜了,虽然方式不太优雅,但是确实能用,各位如有更好的妙招,不妨回复探讨一下

最后:本来以为这是一个很easy的问题,但是在百度和园子里搜索了一下,貌似大家还没有本文提到的"耍赖"办法,所以贴出来让大家探讨探讨

目录
相关文章
|
6月前
|
算法 前端开发
3039. 进行操作使字符串为空
3039. 进行操作使字符串为空
50 0
|
28天前
|
前端开发 JavaScript
判断数组为空的方法有哪些?
本文介绍了多种判断数组是否为空的方法,包括使用 `length` 属性、隐式类型转换、`toString()`、`join()`、`every()`、`reduce()`、`filter()`、`some()` 方法以及循环。每种方法都有其适用场景,其中使用 `length` 属性和隐式类型转换最为常见和简单。文章首发于微信公众号“前端徐徐”。
74 2
判断数组为空的方法有哪些?
|
6月前
|
算法 前端开发 索引
判断对象是否为空
判断对象是否为空
60 0
|
Java 开发工具 git
Optional进行优雅非空判断
Optional进行优雅非空判断
66 0
|
前端开发
你真的会判断对象是否为空吗?
一个小小的判空,却很可能让你吃了大亏,如果一个判空没有做好,那么里面的逻辑就完全裸露了,相信你一定吃过 `NullPointerException` 的苦头!
118 0
StringUtils判断字符串是否为空
StringUtils判断字符串是否为空
129 0
StringUtils判断字符串是否为空
检查对象是否为空
检查对象是否为空
91 0
|
API C#
C#编程:三种方法判断文本框是否为空-9
C#编程:三种方法判断文本框是否为空-9
302 0