Получить URL-адрес ASP.Net страница в коде-за [дубликат]
этот вопрос уже есть ответ здесь:
Как получить полный url-адрес страницы, на которой я нахожусь в C#
9 ответов
У меня есть ASP.Net страница, которая будет размещена на нескольких разных серверах, и я хочу получить URL-адрес страницы (или даже лучше: сайт, на котором размещена страница) в виде строки для использования в коде. Любой идеи?
10 ответов:
используйте этот:
Request.Url.AbsoluteUriЭто даст вам полный путь (в том числе http://...)
Если вы хотите использовать только схему и часть полномочий запроса (протокол, хост и порт), используйте
Request.Url.GetLeftPart(UriPartial.Authority)
Я использую это в своем коде в пользовательском классе. Пригодится для отправки писем, таких как [email protected] "no-reply@" + BaseSiteUrl Прекрасно работает на любом сайте.
// get a sites base urll ex: example.com public static string BaseSiteUrl { get { HttpContext context = HttpContext.Current; string baseUrl = context.Request.Url.Authority + context.Request.ApplicationPath.TrimEnd('/'); return baseUrl; } }Если вы хотите использовать его в codebehind избавиться от контекста.
вы хотите имя сервера? Или имя хоста?
запрос.Url-адрес.Хозяин аля Стивен
Dns.GetHostName - имя сервера
запрос.URL-адрес будет иметь доступ к большинству все, что нужно знать о страницы.
Request.Url.GetLeftPart(UriPartial.Authority) + Request.FilePath + "?theme=blue";это даст вам полный путь к странице, на которой вы сидите. Я добавил в строку запроса.
Я сталкиваются с той же проблемой и до сих пор я нашел:
new Uri(Request.Url,Request.ApplicationPath)или
Request.Url.GetLeftPart(UriPartial.Authority)+Request.ApplicationPath
используя js-файл, вы можете захватить следующее, что также может быть использовано в codebehind:
<script type="text/javascript"> alert('Server: ' + window.location.hostname); alert('Full path: ' + window.location.href); alert('Virtual path: ' + window.location.pathname); alert('HTTP path: ' + window.location.href.replace(window.location.pathname, '')); </script>
Если вы хотите включить любую уникальную строку в конце, аналогичную example. com?id=99999, то используйте следующее
Dim rawUrl As String = Request.RawUrl.ToString()
Comments