官方解释:获取有关客户端上次请求的 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的问题,但是在百度和园子里搜索了一下,貌似大家还没有本文提到的"耍赖"办法,所以贴出来让大家探讨探讨
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有