7

정적 및 동적 파일에서 상대 URL과 절대 URL 주소를 사용하는 방법을 완전히 이해하고 싶습니다.웹 사이트 루트 (절대/상대 URL)의 기본 URL 얻기

~ : 
/: 
.. : in a relative URL indicates the parent directory 
. : refers to the current directory 
/: always replaces the entire pathname of the base URL 
// : always replaces everything from the hostname onwards 

가상 디렉터리없이 작업 할 때이 예제는 쉽습니다. 하지만 난 가상 디렉터리에서 일하고 있습니다.

Relative URI   Absolute URI 
about.html   http://WebReference.com/html/about.html 
tutorial1/   http://WebReference.com/html/tutorial1/ 
tutorial1/2.html  http://WebReference.com/html/tutorial1/2.html 
/     http://WebReference.com/ 
//www.internet.com/ http://www.internet.com/ 
/experts/    http://WebReference.com/experts/ 
../     http://WebReference.com/ 
../experts/   http://WebReference.com/experts/ 
../../../    http://WebReference.com/ 
./     http://WebReference.com/html/ 
./about.html   http://WebReference.com/html/about.html 

가상 디렉토리에서 작업하는 프로젝트처럼 아래 사이트를 시뮬레이션하고 싶습니다.

이 내 영문 및 ASCX 폴더입니다

http://hostAddress:port/virtualDirectory/MainSite/ASPX/default.aspx 
http://hostAddress:port/virtualDirectory/MainSite/ASCX/UserCtrl/login.ascx 

http://hostAddress:port/virtualDirectory/AdminSite/ASPX/ASCX/default.aspx 

이 내 JS 파일 (영문 및 ASCX 파일을 모두 사용 될)은 다음이 내 정적 웹 페이지

http://hostAddress:port/virtualDirectory/MainSite/JavascriptFolder/jsFile.js 
http://hostAddress:port/virtualDirectory/AdminSite/JavascriptFolder/jsFile.js 

입니다

주소 (일부 사진을 보여주고 일부 js 기능을 실행하고 싶음) :

http://hostAddress:port/virtualDirectory/HTMLFiles/page.html 

이것은 내 이미지 접기입니다. 어

http://hostAddress:port/virtualDirectory/Images/PNG/arrow.png 
http://hostAddress:port/virtualDirectory/Images/GIF/arrow.png 

내가 쓰는 내 ASPX 파일에 이미지 파일의 링크가 난

aspxImgCtrl.ImageUrl = Server.MapPath("~")+"/Images/GIF/arrow.png"; 

를 작성해야하지만 원한다면 내가 경로 하드 코딩이나 자바 스크립트 파일을 작성하려면 URL의 종류 주소가 있어야합니까?

답변

7

~ 연산자는 서버 컨트롤과 서버 코드에 대해서만 asp.net에서 인식됩니다. 클라이언트 요소에는 ~ 연산자를 사용할 수 없습니다. 절대 경로 •

응용 프로그램 사이에 이식 할 수 없습니다 : 서버 컨트롤에서

절대 및 상대 경로 참조는 다음과 같은 단점이있다. 절대 경로가 가리키는 응용 프로그램을 이동하면 링크가 끊어집니다.

• 리소스 또는 페이지를 다른 폴더로 이동하면 클라이언트 요소 스타일의 상대 경로를 유지 관리하기가 어려울 수 있습니다.

ASP.NET에는 이러한 단점을 극복하기 위해 서버 컨트롤에서 경로를 지정할 때 사용할 수있는 웹 응용 프로그램 루트 연산자 (~)가 포함되어 있습니다. ASP.NET은 ~ 연산자를 현재 응용 프로그램의 루트로 해석합니다. ~ 연산자를 폴더와 함께 사용하여 현재 루트를 기반으로하는 경로를 지정할 수 있습니다. \을 Inetpub \ wwwroot에 \ 내 사이트 이미지 \는 \ GIF \ arrow.png "를 의미한다 : C를 -

는 예로서 당신은 위의 코드 (예를 들어 서버의 실제 경로를 렌더링

aspxImgCtrl.ImageUrl = Server.MapPath("~")+"/Images/GIF/arrow.png"; 

을 게시

aspxImgCtrl.ImageUrl = "~/Images/GIF/arrow.png"; 

당신이 한 단계의 folde을 고려할 수 있습니다 자바 스크립트에서 리소스를 참조하려면 :

당신이 올바른 클라이언트 상대 경로에 대해이 작업을 사용해야합니다, 클라이언트 측에 덜 rs 구조를 사용하여 액세스 경로를 통합합니다.예를 들어 : 자세한 내용은 방문하십시오

  • 페이지
  • JS
  • 픽스
  • ...

asp.net web site paths

관련 문제