C#에서 내가 있는 페이지의 전체 URL을 얻으려면 어떻게 해야 합니까?
사용자 컨트롤에서 내가 있는 페이지의 전체 URL을 확인할 수 있어야 합니다.요청 변수를 여러 개 연결하는 것이 문제입니까?그렇다면 어떤 것입니까?아니면 더 간단한 방법이 있습니까?
다음은 일반적으로 이러한 유형의 정보를 참조하는 목록입니다.
Request.ApplicationPath : /virtual_dir
Request.CurrentExecutionFilePath : /virtual_dir/webapp/page.aspx
Request.FilePath : /virtual_dir/webapp/page.aspx
Request.Path : /virtual_dir/webapp/page.aspx
Request.PhysicalApplicationPath : d:\Inetpub\wwwroot\virtual_dir\
Request.QueryString : /virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.AbsolutePath : /virtual_dir/webapp/page.aspx
Request.Url.AbsoluteUri : http://localhost:2000/virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.Host : localhost
Request.Url.Authority : localhost:80
Request.Url.LocalPath : /virtual_dir/webapp/page.aspx
Request.Url.PathAndQuery : /virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.Port : 80
Request.Url.Query : ?q=qvalue
Request.Url.Scheme : http
Request.Url.Segments : /
virtual_dir/
webapp/
page.aspx
여러분이 이것이 유용하다는 것을 알게 되기를 바랍니다!
주로 사용합니다.Request.Url.ToString()
전체 URL(쿼리 문자열 포함)을 가져오려면 연결이 필요하지 않습니다.
Request.Url.AbsoluteUri
이 숙박업소는 필요한 모든 것을 한 번의 간결한 상담으로 제공합니다.
위해서ASP.NET Core
당신은 그것의 철자를 말할 필요가 있을 것입니다:
var request = Context.Request;
@($"{ request.Scheme }://{ request.Host }{ request.Path }{ request.QueryString }")
또는 보기에 다음과 같은 사용 설명을 추가할 수 있습니다.
@using Microsoft.AspNetCore.Http.Extensions
그리고나서
@Context.Request.GetDisplayUrl()
그_ViewImports.cshtml
그것을 위한 더 좋은 장소일 수도 있습니다.@using
만약 당신이 http에서 쿼리 문자열에 이르기까지 전체 URL이 필요하다면 당신은 다음 변수들을 연결해야 할 것입니다.
Request.ServerVariables("HTTPS") // to check if it's HTTP or HTTPS
Request.ServerVariables("SERVER_NAME")
Request.ServerVariables("SCRIPT_NAME")
Request.ServerVariables("QUERY_STRING")
부탁한다.원시 URL
보다 사용하기 편리함Request.Url.ToString()
(MSDN에 따름)
감사합니다, 여러분, 저는 저의 구체적인 필요성을 위해 @크리스찬과 @조나단의 답변을 모두 사용했습니다.
"http://" + Request.ServerVariables["SERVER_NAME"] + Request.RawUrl.ToString()
보안 http에 대해 걱정할 필요가 없습니다. 서버 이름 변수가 필요하고 RawUrl이 도메인 이름의 경로를 처리하고 쿼리 문자열이 있으면 포함합니다.
포트 번호가 필요한 경우 다음을 사용할 수 있습니다.
Request.Url.Authority
예:
string url = Request.Url.Authority + HttpContext.Current.Request.RawUrl.ToString();
if (Request.ServerVariables["HTTPS"] == "on")
{
url = "https://" + url;
}
else
{
url = "http://" + url;
}
다음을 시도합니다.
var FullUrl = Request.Url.AbsolutePath.ToString();
var ID = FullUrl.Split('/').Last();
언급URL : https://stackoverflow.com/questions/40680/how-do-i-get-the-full-url-of-the-page-i-am-on-in-c-sharp
'programing' 카테고리의 다른 글
Azure ASP .net WebApp 요청 시간이 초과되었습니다. (0) | 2023.05.12 |
---|---|
C#과의 차이점은 무엇입니까?NET? (0) | 2023.05.12 |
SQL Azure에서 쿼리 실행이 훨씬 느린 이유는 무엇입니까? (0) | 2023.05.12 |
볼륨을 사용하여 도킹된 postgres 데이터베이스에서 데이터를 유지하는 방법 (0) | 2023.05.07 |
Http 메서드에서 생성된 관찰 가능 항목의 구독을 취소할 필요가 있습니까? (0) | 2023.05.07 |