如果仅适用于这种情况(您以编程方式重定向到 B.aspx),那么为什么不在查询字符串上放置一些内容来说明重定向的来源。这更有可能适用于多种浏览器类型和设备。
这种方法的一个优点是,您将能够区分重定向到 B.aspx 和直接链接(通过您的一个页面上的链接,或通过用户将 URL 输入到地址基)到页面B.aspx。
referrer 是客户端作为 HTTP 请求的一部分提供的内容。因此,您不能依赖它。
顺便说一下,这个问题是相关的:
Request.UrlReferrer null?
更新
鉴于您的 cmets,除了“编辑所有文件”之外,尚不清楚这是一个简单的解决方案。我怀疑全局搜索/替换可能是您最好的选择。
更多背景知识:如果您使用 Fiddler(或任何其他 http 调试工具),您应该能够看到在执行重定向时未填充 Referrer 标头。例如,这是重定向的结果(即导致 IE 重定向到另一个页面的 HTTP 302 响应):
GET /webapplication1/WebForm3.aspx HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: en-GB
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618; MS-RTC LM 8; Zune 3.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: (removed)
这是通过单击 StackOverflow.com 上的“问题”链接生成的 HTTP 请求:
GET /questions HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Referer: https://stackoverflow.com/questions/772780/finding-previous-page-url
Accept-Language: en-GB
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618; MS-RTC LM 8; Zune 3.0)
Accept-Encoding: gzip, deflate
Host: stackoverflow.com
Connection: Keep-Alive
您可以看到,后者由页面上的链接生成,生成Referer 标头。