Мне интересно, как я могу получить URL-адрес из браузера в ASP.NET.
У меня есть страница, которую я использую с глобализацией / локализацией, и я перенаправляю (через сервер, а не код) с www.spanishversion.com на www.englishversion.com, но URL-адрес замаскирован, чтобы по-прежнему говорить www.spanishversion.com. Я хочу узнать, что такое URL-адрес браузера, но когда я пробую такие вещи, как:
Request.Url.ToString()Request.Url.OriginalUrlRequest.Path Request.RawUrlRequest.ServerVariables["SERVER_NAME"]Он всегда возвращается как www.englishversion.com. Есть ли способ явно прочитать URL-адрес из браузера?





Вы можете сделать это с помощью Javascript с location.href.
Есть ли способ добраться до этого из управляемого кода? Мне нужен URL-адрес в .net, чтобы я мог установить текущую культуру
Уродливым решением было бы сначала отобразить скелет страницы, не содержащий локализованного контента, затем использовать AJAX на стороне клиента, который передает location.href серверу, и сервер может вернуть контент для заполнения остальной части страницы, которая клиент может использовать .innerHTML. Не рекомендуется!
Попробуйте с Request.Url.Host
Это тоже пробовал. www.englishverison.com - это то, что возвращается.
пытаться
HttpContext.Current.Request.Url.PathAndQuery
от MSDN
Я использую его для установки переменных на главной странице.
Вы можете попробовать использовать:
Request.Rawurl
Думаю, Request.Url.AbsoluteUri - ваш друг.
Думаю, вы неправильно поняли эту ситуацию. Вы говорите, что адресная строка замаскирована для отображения www.spanishversion.com, но показывает ли она www.spanishversion.com или нет?
Какого рода редирект вы делаете? Если вы выполняете Server.Transfer, то вам не повезло. Но Response.Redirect не должен вызывать проблемы, которые у вас возникли.