ASP.NET Web Pages - Thư mục

Chương này giới thiệu về thư mục và đường dẫn thư mục.

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

  • Cấu trúc thư mục logic và vật lý
  • Tên ảo và vật lý
  • 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典型 của trang web ASP.NET:

Cấu trúc thư mục Web Pages
  • Thư mục "Account" 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à các tệp dữ liệu.
  • Thư mục "Images" chứa hình ảnh.
  • Thư mục "Scripts" chứa các script trình duyệt.
  • Thư mục "Shared" chứa các tệp chung (ví dụ: tệp layout và tệp样式).

Cấu trúc vật lý tệp

Cấu trúc vật lý của thư mục "Images" của trang web này trên máy tính giống như vậy:

C:\Johnny\Documents\MyWebSites\Demo\Images

Tên ảo và vật lý

Dựa trên ví dụ trên:

Tên ảo của hình ảnh web giống như vậy: "Images/pic31.jpg".

Nhưng tên vật lý giống như vậy "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:

http://www.codew3c.com/html5/html5_intro.asp

Tệp mà URL tương ứng trên máy chủ là:

C:\MyWebSites\htm5\html5_intro.asp

Đường dẫn ảo là dạng viết tắt để đại diện cho đường dẫn vật lý. Nếu bạn sử dụng đường dẫn ảo, bạn có thể di chuyển trang web đến tên miền (hoặc máy chủ) khác mà không cần cập nhật đường dẫn.

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

Thư mục gốc trên ổ đĩa viết là: C:\, nhưng thư mục gốc trên trang web là / (mũi tên).

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

Trong mã nguồn của bạn, tùy thuộc vào nội dung của mã, bạn có thể đồng thời tham chiếu đến đường dẫn vật lý và đường dẫn ảo.

ASP.NET cung cấp ba công cụ xử lý đường dẫn thư mục: toán tử ~, phương thức Server.MapPath và phương thức Href.

Toán tử ~

Để quy định thư mục gốc ảo trong mã nguồn 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 đến 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 đường dẫn ảo (/default.cshtml) thành đường dẫn vật lý mà máy chủ có thể hiểu được (C:\Johnny\MyWebSited\Demo\default.cshtml).

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

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

Trong chương tiếp theo của hướng dẫn này, bạn sẽ học thêm về việc đọc và ghi tệp dữ liệu trên máy chủ.

Phương thức Href

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

Bạn sử dụng phương thức Href để tạo đường dẫn đến tài nguyên (ví dụ: hình ảnh và tệp CSS).

Bạn sẽ thường xuyên sử dụng phương thức này trong các thẻ HTML <a>、<img> và <link>:

@{var myStyleSheet = "~/Shared/Site.css";}
<!-- Tạo liên kết đến tệp CSS -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />
<!-- Cùng trên : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css" />

Phương thức Href thuộc về đối tượng WebPage.