Nếu nó chỉ cho kịch bản này (nơi bạn programatically chuyển hướng đến B.aspx) thì tại sao không đặt một cái gì đó trên chuỗi truy vấn để nói chuyển hướng đến từ đâu. Điều này sẽ có nhiều khả năng hoạt động trên nhiều loại trình duyệt và thiết bị khác nhau.
Một lợi thế của phương pháp này là bạn có thể biết sự khác biệt giữa chuyển hướng đến B.aspx và liên kết trực tiếp (hoặc qua liên kết trên một trong các trang của bạn hoặc từ người dùng nhập URL vào cơ sở địa chỉ) đến trang B.aspx.
Liên kết giới thiệu là thứ mà khách hàng cung cấp như một phần của yêu cầu HTTP. Như vậy, bạn không thể dựa vào nó.
Bằng cách này, câu hỏi này có liên quan: Request.UrlReferrer null?
Cập nhật Với ý kiến của bạn nó không rõ ràng đó là một giải pháp dễ dàng khác hơn là "chỉnh sửa tất cả các file của bạn". Tôi nghi ngờ rằng tìm kiếm/thay thế toàn cầu có thể là đặt cược tốt nhất của bạn.
Một số nền khác: Nếu bạn sử dụng Fiddler (hoặc bất kỳ công cụ gỡ lỗi http nào khác), bạn sẽ có thể thấy tiêu đề Liên kết giới thiệu không được điền khi bạn thực hiện chuyển hướng. Ví dụ, đây là kết quả của một chuyển hướng (tức là một phản ứng HTTP 302 gây IE để chuyển hướng đến một trang khác):
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)
Đây là yêu cầu HTTP được tạo ra bằng cách nhấn vào "Câu hỏi" liên kết trên StackOverflow. com:
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
Bạn có thể thấy rằng sau này, được tạo bởi liên kết trên trang, tạo tiêu đề Người giới thiệu.
tại sao bạn đang cố thực hiện việc này? Có lẽ có giải pháp khác dễ dàng hơn cho vấn đề của bạn – eKek0
Trong trường hợp của tôi, tôi cần biết người giới thiệu khi trang ASPX đang tải nội dung tĩnh từ CDN. Giải pháp (trong trường hợp của tôi, số dặm của bạn có thể thay đổi) là để kéo giá trị từ HttpRequest.Params.Get ("HTTP_REFERER"). – jerhewet
Last ToString bị thiếu. Ngoài ra ToString() là không cần thiết cho trường hợp cụ thể này. – DeadlyChambers