Получить URL-адрес страницы ASP.Net в кодировке

У меня есть страница ASP.Net, которая будет размещаться на нескольких разных серверах, и я хочу получить URL-адрес страницы (или даже лучше: сайт, на котором размещена страница), в виде строки для использования в кода позади. Любые идеи?

Ответ 1

Используйте это:

Request.Url.AbsoluteUri

Это даст вам полный путь (включая http://...)

Ответ 2

Если вы хотите, чтобы только часть схемы и полномочий запроса (протокол, хост и порт) использовали

Request.Url.GetLeftPart(UriPartial.Authority)

Ответ 3

Я использую

Request.Url.GetLeftPart(UriPartial.Authority) +
        VirtualPathUtility.ToAbsolute("~/")

Ответ 4

Я использую это в своем коде в пользовательском классе. Пригодится для отправки электронных писем, таких как [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;
    }

}

Если вы хотите использовать его в коде, избавитесь от контекста.

Ответ 5

Вы хотите имя сервера? Или имя хоста?

Request.Url.Host ala Stephen

Dns.GetHostName - Имя сервера

Request.Url будет иметь доступ ко всему, что вам нужно знать о запрашиваемой странице.

Ответ 6

Request.Url.GetLeftPart(UriPartial.Authority) + Request.FilePath + "?theme=blue";

который даст вам полный путь к странице, на которой вы сидите. Я добавил в querystring.

Ответ 7

Request.Url.Host

Ответ 8

Я столкнулся с такой же проблемой и до сих пор нашел:

new Uri(Request.Url,Request.ApplicationPath)

или

Request.Url.GetLeftPart(UriPartial.Authority)+Request.ApplicationPath

Ответ 9

Если вы хотите включить в конец любую уникальную строку, аналогичную example.com?id=99999, используйте следующую

Dim rawUrl As String = Request.RawUrl.ToString()

Ответ 10

Используя js файл, вы можете записать следующее, которое также может использоваться в кодебе:

<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>