2011-03-06 3 views
1

Asp.C# 응용 프로그램의 외부 자바 스크립트, CSS 및 이미지 파일에 대한 상대 경로에 대한 질문이 있습니다.모범 사례, CSS, JavaScript 및 이미지 파일의 상대 경로를 지정하는 방법은 무엇입니까?

나는 2 개 페이지가 - 5 하위 수준을 너무 내 자바 스크립트와 CSS 파일이 보이는 경우

../../../../../javascriptfile.js 
../../../cssfile.css 
../../../../../../image.jpg 

것처럼 파일을 찾을 수 없습니다 추가 하위 수준의 응용 프로그램이 될 것입니다 경우.

파일 경로를 지정하는 가장 좋은 방법은 무엇입니까?

+0

답은 단지 상대 경로의 사용을 줄이기 위해 파일을 재구성하는 것입니다. –

답변

1

사용과 같은 루트 상대 경로 :

/js/javascriptfile.js 
    /css/style.css 

/첫 번째 사이트의 루트에 의미합니다.

+0

나는 가상 경로 문제를 피하기 위해 일반적으로 이런 스크립트를 참조하지 않습니다. 이것은 프로젝트가 항상 웹 서버의 루트에서 호스팅 될 것이라 확신하는 경우에 효과적이지만, 개인적으로는 그럴 경우 거의 없습니다. 위의 ResolveUrl 팁은 훨씬 안전한 내기입니다. –

6

"루트 상대"와 "이 사이트의 루트는"정말 도메인 이름 다음 경로의 루트를 의미 할 수 있다는 것을 명심하십시오 url. 웹 사이트가 루트에없는 시나리오를 고려해야합니다. 이러한 시나리오에서 루트 상대 경로는 잠재적으로 다른 웹 사이트를 가리 킵니다. 당신은 또한 ResolveUrl 방법을 사용할 수 있습니다 <img src="~/image.jpg" runat="server">

(및 기타 :

는 ASP.NET에서 당신은 같이 ~이, 대부분의 서버 측 컨트롤 현재 사이트의 루트에 상대적인 URL을 생성하는 선도을 사용할 수 있습니다 비슷한 방법) 서버 측 컨트롤을 사용하지 않고 이러한 경로를 확장 할 수 있습니다.

+0

이 기능은 마스터 페이지에서 훌륭하게 작동하고 보 다 고급 라우팅 기술과 더욱 일관되게 작용합니다. 동일한 페이지 (또는 마스터 페이지)는 응용 프로그램 내의 다른 경로에서 참조 될 수 있습니다. –

관련 문제