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



этот вопрос уже есть ответ здесь:




  • Как получить полный url-адрес страницы, на которой я нахожусь в C#

    9 ответов



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

639   10  

10 ответов:

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

Request.Url.AbsoluteUri

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

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

Request.Url.GetLeftPart(UriPartial.Authority)

Я использую

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

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

запрос.Url-адрес.Хозяин

используя 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

    Ничего не найдено.