Если это только для этого сценария (где вы программно перенаправлять к B.aspx), то почему бы не поставить что-то на querystring, чтобы сказать, откуда произошла переадресация. Это, скорее всего, будет работать с несколькими типами браузеров и устройствами.
Одно из преимуществ этого подхода заключается в том, что вы сможете рассказать о разнице между перенаправлением на B.aspx и прямой ссылкой (либо по ссылке на одной из ваших страниц, либо от пользователя, вводящего URL-адрес в адресную базу) на страницу B.aspx.
Referrer - это то, что клиент предоставляет как часть HTTP-запроса. Таким образом, вы не можете полагаться на это.
Кстати, связан этот вопрос: Request.UrlReferrer null?
Update Учитывая ваши комментарии не ясно, что это простое решение, отличное от «редактировать все файлы». Я подозреваю, что глобальный поиск/замена может быть вашим лучшим выбором.
Дополнительные сведения: Если вы используете Fiddler (или любой другой инструмент отладки http), вы должны уметь видеть, что заголовок Referrer не заполняется при выполнении перенаправления. Например, это результат редиректа (т.е. HTTP 302 ответа вызывающего IE для перенаправления на другую страницу):
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)
Вот запрос HTTP, который генерируется при нажатии «Вопросы» ссылку на 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
Вы можете видеть, что позднее, созданный ссылкой на странице, генерируется заголовок Referer.
Почему вы пытаетесь это сделать? Возможно, есть другое решение, более легкое для вашей проблемы. – eKek0
В моем случае мне нужно было знать рефератора, когда страница ASPX загружала статический контент из CDN. Решение (в моем случае ваш пробег может отличаться) должен был вытащить значение из HttpRequest.Params.Get («HTTP_REFERER»). – jerhewet
Last ToString отсутствует параны. Также ToString() не требуется для этого конкретного экземпляра. – DeadlyChambers