ASP.NET Web Pages - โฟลเดอร์
- หน้าก่อนหน้า เรียกเรียน WebPages ต้นแบบ
- หน้าต่อไป WebPages โลกกว้าง
บทนี้นำเสนอโฟลเดอร์และทางยังโฟลเดอร์:
ในบทนี้คุณจะเรียน:
- โครงสร้างโฟลเดอร์โลจิกและทางจริง:
- ชื่อทางเชิงเว็บและทางจริง
- URL และทางยังเว็บ:
โครงสร้างโฟลเดอร์โลจิก:
ต่อไปนี้คือโครงสร้างโฟลเดอร์ทั่วไปของเว็บไซต์ ASP.NET:

- โฟลเดอร์ "Account" มีไฟล์เข้าระบบและไฟล์ความปลอดภัย:
- โฟลเดอร์ "App_Data" มีฐานข้อมูลและไฟล์ข้อมูล:
- โฟลเดอร์ "Images" มีรูปภาพ:
- โฟลเดอร์ "Scripts" มีไซค์ริปของเบราเซอร์:
- โฟลเดอร์ "Shared" มีไฟล์ทั่วไป (เช่นไฟล์ต้นแบบและไฟล์สไตล์):
โครงสร้างทางจริงของไฟล์
โครงสร้างทางจริงของโฟลเดอร์ "Images" ของเว็บนี้ในคอมพิวเตอร์คล้ายนี้:
C:\Johnny\Documents\MyWebSites\Demo\Images
ชื่อทางเชิงเว็บและทางจริง
จากตัวอย่างด้านบน:
ชื่อไฟล์เชิงเว็บของรูปภาพบนเว็บคล้ายนี้: "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 โลกกว้าง