development

코드 숨김 [중복]에서 ASP.Net 페이지의 URL 가져 오기

big-blog 2020. 5. 12. 19:08
반응형

코드 숨김 [중복]에서 ASP.Net 페이지의 URL 가져 오기


이 질문에는 이미 답변이 있습니다.

몇 가지 다른 서버에서 호스팅되는 ASP.Net 페이지가 있으며 코드 숨김에서 사용하기 위해 페이지의 URL (또는 더 나은 경우 : 페이지가 호스팅되는 사이트)을 문자열로 가져 오려고합니다. . 어떤 아이디어?


이것을 사용하십시오 :

Request.Url.AbsoluteUri

그러면 전체 경로를 얻을 수 있습니다 ( http : // .. 포함 ).


요청 (프로토콜, 호스트 및 포트)의 체계 및 권한 부분 만 원하는 경우

Request.Url.GetLeftPart(UriPartial.Authority)

나는 사용하고있다

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

나는 이것을 사용자 정의 클래스의 코드에서 사용합니다. no-reply@example.com "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;
    }

}

코드 숨김에서 사용하려면 컨텍스트를 제거하십시오.


서버 이름을 원하십니까? 아니면 호스트 이름?

Request.Url.Host 알라 스티븐

Dns.GetHostName- 서버 이름

Request.Url 은 요청되는 페이지에 대해 알아야 할 모든 것에 액세스 할 수 있습니다.


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

그것은 당신이 앉아있는 페이지의 전체 경로를 제공합니다. 쿼리 문자열에 추가했습니다.


나는 같은 문제에 직면하고 있으며 지금까지 나는 발견했다.

new Uri(Request.Url,Request.ApplicationPath)

또는

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

Request.Url.Host


example.com?id=99999와 유사하게 끝에 고유 한 문자열을 포함하려면 다음을 사용하십시오.

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

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>

참고 URL : https://stackoverflow.com/questions/96029/get-url-of-asp-net-page-in-code-behind

반응형