ResolveUrl과 ResolveClientUrl의 차이점은 무엇입니까?
ASP.NET 파일에 CSS 및 Javascript를 추가하기 위해 ResolveUrl을 사용하고 있습니다.
하지만 일반적으로 ResolveClientUrl 옵션이 표시됩니다. 둘 다의 차이점은 무엇입니까?
ResolveClientUrl은 언제 사용해야합니까?
ResolveUrl은 루트에 상대적인 URL을 만듭니다.
ResolveClientUrl은 현재 페이지에 상대적인 URL을 생성합니다.
원하는 것을 사용할 수도 있지만 ResolveUrl이 더 일반적으로 사용됩니다.
다음은 간단한 예입니다.
//Returns: ../HomePage.aspx
String ClientURL = ResolveClientUrl("~/HomePage.aspx");
//Returns: /HomePage.aspx
String RegURL = ResolveUrl("~/HomePage.aspx");
//Returns: C:\inetpub\wwwroot\MyProject\HomePage.aspx
String ServerMappedPath = Server.MapPath("~/HomePage.aspx");
//Returns: ~/HomePage.aspx
String appRelVirtPath = AppRelativeVirtualPath;
//Returns: http://localhost:4913/
String baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;
//Returns: "http://localhost:4913/HomePage.aspx"
String absUri = Request.Url.AbsoluteUri;
MSDN 문서에 따르면 :
브라우저에서 사용하기에 적합한 지정된 리소스에 대한 정규화 된 URL입니다.
ResolveClientUrl 메서드를 사용하여 클라이언트가 이미지 파일, 추가 페이지 링크 등과 같은 웹 서버의 리소스에 액세스하는 데 사용하기에 적합한 URL 문자열을 반환합니다.
변환 된 URL입니다.
relativeUrl 매개 변수에 절대 URL이 포함 된 경우 URL은 변경되지 않고 반환됩니다. relativeUrl 매개 변수에 상대 URL이 포함 된 경우 해당 URL은 현재 요청 경로에 올바른 상대 URL로 변경되어 브라우저가 URL을 확인할 수 있습니다.
예를 들어 다음 시나리오를 고려하십시오.
클라이언트가 연결된 이미지가있는 사용자 정의 컨트롤이 포함 된 ASP.NET 페이지를 요청했습니다.
ASP.NET 페이지는 /Store/page1.aspx에 있습니다.
사용자 정의 컨트롤은 /Store/UserControls/UC1.ascx에 있습니다.
이미지 파일은 /UserControls/Images/Image1.jpg에 있습니다.
사용자 정의 컨트롤이 이미지에 대한 상대 경로 (즉, /Store/UserControls/Images/Image1.jpg)를 ResolveUrl 메서드에 전달하면 메서드는 /Images/Image1.jpg 값을 반환합니다.
나는 이것이 그것을 아주 잘 설명한다고 생각합니다.
요컨대 :
Page.ResolveUrl(~): creates the URL from the root of app.
과
Page.ResolveClientUrl(~): creates the URL relative to the current page.(e.g: ../../..)
그러나 asp.net의 테스트에서 Page.ResolveUrl은 안정적인 출력으로 인해 더 좋고 상대적이지 않습니다.
Javascript 친화적 인 URL을 얻으려는 경우 Page.ResolveUrl을 사용하는 것이 좋습니다.
상위 페이지에서 iframe을 여는 것처럼 iframe src 속성에 전달되는 전체 URL이 필요합니다.
'your programing' 카테고리의 다른 글
Objective C에서 객체 할당 및 초기화 (0) | 2020.12.29 |
---|---|
Boost.Process는 어디에 있습니까? (0) | 2020.12.29 |
Xml 네임 스페이스로 Linq to Xml 사용 (0) | 2020.12.29 |
모듈러스 연산자를 사용할 때 인식 (0) | 2020.12.29 |
패턴 일치 숫자가 egrep에서 작동하지 않습니까? (0) | 2020.12.29 |