ASP.NET 웹 페이지 - 폴더
- 이전 페이지 WebPages 레이아웃
- 다음 페이지 WebPages 전역
이 장은 폴더와 폴더 경로를 소개합니다。
이 장에서는 다음을 배울 수 있습니다:
- 로직과 물리 폴더 구조
- 가상과 물리 이름
- web URL과 경로
로직 폴더 구조
아래는 ASP.NET 웹 페이지의 표준 폴더 구조입니다:

- "Account" 폴더는 로그인 및 보안 파일을 포함합니다
- "App_Data" 폴더는 데이터베이스 및 데이터 파일을 포함합니다
- "Images" 폴더는 이미지를 포함합니다
- "Scripts" 폴더는 브라우저 스크립트를 포함합니다
- "Shared" 폴더는 일반 파일(예: 레이아웃 및 스타일 파일)을 포함합니다
물리 파일 구조
위 웹 사이트의 "Images" 폴더의 물리 구조는 컴퓨터에서 다음과 같습니다:
C:\Johnny\Documents\MyWebSites\Demo\Images
가상과 물리 이름
위의 예제를 바탕으로:
web 이미지의 가상 이름은 "Images/pic31.jpg"와 같습니다。
그러나 물리 이름은 "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"와 같습니다。
URL과 경로
URL은 웹에서 파일에 접근하는 데 사용됩니다:
http://www.codew3c.com/html5/html5_intro.asp
서버에서 파일에 대응하는 URL은 다음과 같습니다:
C:\MyWebSites\htm5\html5_intro.asp
가상 경로는 물리 경로를 대표하는 단축 형식입니다. 가상 경로를 사용하면 경로를 업데이트하지 않고 웹 페이지를 다른 도메인(또는 서버)로 이동할 수 있습니다。
URL http://www.codew3c.com/html/html5_intro.asp 서버 이름 codew3c 가상 경로 /html/html5_intro.asp 물리 경로 C:\MyWebSites\codew3c\/html/html5_intro.asp
디스크 드라이브의 루트 디렉토리는 C:\로 쓰여 있지만, 웹 사이트의 루트 디렉토리는 /(슬래시)입니다。
web 폴더의 가상 경로는 대부분 실제 폴더와 다릅니다。
코드 내용에 따라 실제 경로와 가상 경로를 동시에 참조할 수 있습니다。
ASP.NET은 폴더 경로를 처리하는 도구로 ~ 연산자, Server.MapPath 메서드 및 Href 메서드를 제공합니다。
~ 연산자
가상 루트 디렉토리를 코드에서 지정하려면 ~ 연산자를 사용하십시오。
~ 연산자를 사용하면, 경로 대신 사용하여 코드를 변경하지 않고 웹사이트를 다른 폴더나 위치로 이동할 수 있습니다:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath 메서드
Server.MapPath 메서드는 가상 경로 (/default.cshtml)을 서버가 이해할 수 있는 물리 경로 (C:\Johnny\MyWebSited\Demo\default.cshtml)로 변환합니다.
서버에 위치한 데이터 파일을 열어야 할 때, 이 메서드를 사용합니다(데이터 파일은 전체 물리 경로를 통해 액세스할 수 있습니다):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);
다음 장에서는 서버에서 데이터 파일을 읽고 쓰는 방법에 대해 더 배울 것입니다.
Href 메서드
Href 메서드는 코드 중의 경로를 브라우저가 이해할 수 있는 경로로 변환합니다(브라우저는 ~ 연산자를 이해할 수 없습니다).
Href 메서드를 사용하여 자원(예: 이미지 및 CSS 파일)을 지정하는 경로를 생성합니다.
HTML <a>、<img> 및 <link> 요소에서 자주 사용하는 메서드입니다:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- CSS 파일을 지정하는 링크를 생성합니다 --> <link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" /> <!-- 동일합니다 : --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
Href 메서드는 WebPage 객체의 메서드입니다.
- 이전 페이지 WebPages 레이아웃
- 다음 페이지 WebPages 전역