Trang Web ASP.NET - Thư mục


Chương này nói về thư mục và đường dẫn thư mục.


Trong chương này, bạn sẽ học:

  • Giới thiệu về cấu trúc thư mục Logic và Vật lý
  • Giới thiệu về tên ảo và tên thực
  • Giới thiệu về URL và Đường dẫn web

Cấu trúc thư mục logic

Dưới đây là cấu trúc thư mục điển hình cho một trang web ASP.NET web:

Thư mục
  • Thư mục "Tài khoản" chứa các tệp đăng nhập và bảo mật
  • Thư mục "App_Data" chứa cơ sở dữ liệu và tệp dữ liệu
  • Thư mục "Hình ảnh" chứa hình ảnh
  • Thư mục "Tập lệnh" chứa các tập lệnh trình duyệt
  • Thư mục "Được chia sẻ" chứa các tệp phổ biến (như tệp bố cục và kiểu)

Cấu trúc thư mục vật lý

Cấu trúc vật lý của thư mục "Hình ảnh" tại trang web trên có thể trông giống như thế này trên máy tính:

C: \ Johnny \ Documents \ MyWebSites \ Demo \ Hình ảnh


Tên ảo và tên thực

Từ ví dụ trên:

Tên ảo của ảnh web có thể là "Hình ảnh / pic31.jpg".

Nhưng tên thực là "C: \ Johnny \ Documents \ MyWebSites \ Demo \ Images \ pic31.jpg"



URL và Đường dẫn

URL được sử dụng để truy cập tệp từ web: https://www.w3schools.com/html/html5_intro.asp

URL tương ứng với một tệp vật lý trên máy chủ: C: \ MyWebSites \ w3schools \ html \ html5_intro.asp

Một đường dẫn ảo là viết tắt để biểu thị các đường dẫn vật lý. Nếu bạn sử dụng đường dẫn ảo, bạn có thể di chuyển các trang của mình sang một miền (hoặc máy chủ) khác mà không cần phải cập nhật đường dẫn.

URL https://www.w3schools.com/html/html5_intro.asp
Tên máy chủ w3schools
Đường dẫn ảo /html/html5_intro.asp
Con đường vật lý C: \ MyWebSites \ w3schools \ html \ html5_intro.asp

Thư mục gốc trên ổ đĩa được viết giống như C: \, nhưng thư mục gốc trên một trang web là / (dấu gạch chéo lên).

Đường dẫn ảo của một thư mục web (hầu như) không bao giờ giống với thư mục vật lý.

Trong mã của bạn, bạn sẽ tham chiếu đến cả đường dẫn vật lý và đường dẫn ảo, tùy thuộc vào những gì bạn đang mã hóa.

ASP.NET có 3 công cụ để làm việc với đường dẫn thư mục: toán tử ~, phương thức Server.MapPath và phương thức Href.


Nhà điều hành ~

Để chỉ định gốc ảo trong mã lập trình, hãy sử dụng toán tử ~.

Nếu bạn sử dụng toán tử ~, thay vì đường dẫn, bạn có thể di chuyển trang web của mình đến một thư mục hoặc vị trí khác mà không cần thay đổi bất kỳ mã nào:

var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";

Phương thức Server.MapPath

Phương thức Server.MapPath chuyển đổi một đường dẫn ảo (/default.cshtml) thành một đường dẫn vật lý mà máy chủ có thể hiểu được (C: \ Johnny \ MyWebSited \ Demo \ default.cshtml).

Bạn sẽ sử dụng phương pháp này khi cần mở tệp dữ liệu nằm trên máy chủ (tệp dữ liệu chỉ có thể được truy cập bằng đường dẫn vật lý đầy đủ):

var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);

Bạn sẽ tìm hiểu thêm về cách đọc (và ghi vào) các tệp dữ liệu trên máy chủ trong chương tiếp theo của hướng dẫn này.


Phương pháp Href

Phương thức Href chuyển đổi một đường dẫn được sử dụng trong mã thành một đường dẫn mà trình duyệt có thể hiểu được (trình duyệt không thể hiểu toán tử ~).

Bạn sử dụng phương thức Href để tạo đường dẫn đến các tài nguyên như tệp hình ảnh và tệp 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.