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 에서 제 테스트에서 페이지. 페이지.ResolveUrl은 출력이 안정적이고 상대적이지 않기 때문에 더 좋습니다.
페이지 사용.Javascript에 친숙한 Url을 얻으려는 경우 ResolveUrl이 더 좋습니다.
상위 페이지에서 iframe을 여는 경우와 마찬가지로 iframe src 속성으로 전달되는 전체 URL이 필요합니다.
언급URL : https://stackoverflow.com/questions/1874636/what-is-the-difference-between-resolveurl-and-resolveclienturl
'sourcecode' 카테고리의 다른 글
강제 Oracle 강제 삭제 글로벌 온도 테이블 (0) | 2023.06.22 |
---|---|
PHP-FPM, MariaDB 및 Symfony Form Doctrine 쿼리 작성기의 매우 이상한 동작(오류 503) (0) | 2023.06.17 |
단일 플라스크 프로세스가 수신하는 동시 요청 수는 얼마나 됩니까? (0) | 2023.06.17 |
Firestore - 특정 필드 변경을 들으시겠습니까? (0) | 2023.06.17 |
c#에서 이중 값을 DateTime으로 변환하는 방법은 무엇입니까? (0) | 2023.06.17 |