ASP.NET 웹 페이지 - 폴더
이 장에서는 폴더 및 폴더 경로에 대해 설명합니다.
이 장에서는 다음을 배우게 됩니다.
- 논리적 및 물리적 폴더 구조 정보
- 가상 및 물리적 이름 정보
- 웹 URL 및 경로 정보
논리적 폴더 구조
다음은 ASP.NET 웹 페이지 웹 사이트의 일반적인 폴더 구조입니다.
- "계정" 폴더에는 로그온 및 보안 파일이 포함되어 있습니다.
- "App_Data" 폴더에는 데이터베이스와 데이터 파일이 들어 있습니다.
- "이미지" 폴더에는 이미지가 포함되어 있습니다.
- "Scripts" 폴더에는 브라우저 스크립트가 포함되어 있습니다.
- "Shared" 폴더에는 레이아웃 및 스타일 파일과 같은 공통 파일이 포함되어 있습니다.
물리적 폴더 구조
위의 웹사이트에서 "이미지" 폴더의 물리적 구조는 컴퓨터에서 다음과 같습니다.
C:\Johnny\Documents\MyWebSites\Demo\Images
가상 및 물리적 이름
위의 예에서:
웹 사진의 가상 이름은 "Images/pic31.jpg"일 수 있습니다.
그러나 실제 이름은 "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"입니다.
URL 및 경로
URL은 웹에서 파일에 액세스하는 데 사용됩니다. https://www.w3schools.com/html/html5_intro.asp
URL은 서버의 실제 파일에 해당합니다. C:\MyWebSites\w3schools\html\html5_intro.asp
가상 경로는 물리적 경로를 나타내는 줄임말입니다. 가상 경로를 사용하는 경우 경로를 업데이트하지 않고도 페이지를 다른 도메인(또는 서버)으로 이동할 수 있습니다.
URL | https://www.w3schools.com/html/html5_intro.asp |
서버 이름 | w3schools |
가상 경로 | /html/html5_intro.asp |
물리적 경로 | C:\MyWebSites\w3schools\html\html5_intro.asp |
디스크 드라이브의 루트는 C:\와 같이 작성되지만 웹 사이트의 루트는 /(슬래시)입니다.
웹 폴더의 가상 경로는 (거의) 실제 폴더와 동일하지 않습니다.
코드에서 코딩 대상에 따라 실제 경로와 가상 경로를 모두 참조하게 됩니다.
ASP.NET에는 ~ 연산자, Server.MapPath 메서드 및 Href 메서드의 3가지 폴더 경로 작업 도구가 있습니다.
~ 연산자
프로그래밍 코드에서 가상 루트를 지정하려면 ~ 연산자를 사용하십시오.
경로 대신 ~ 연산자를 사용하면 코드를 변경하지 않고도 웹사이트를 다른 폴더나 위치로 이동할 수 있습니다.
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 파일과 같은 리소스에 대한 경로를 만듭니다.
You will often use this method in HTML <a>, <img>, and <link> elements:
@{var myStyleSheet = "~/Shared/Site.css";}
<!-- This creates a link
to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)"
/>
<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css"
/>
The Href method is a method of the WebPage Object.