บทนี้ให้ข้อมูลเกี่ยวกับโฟลเดอร์และเส้นทางโฟลเดอร์
ใน ASP.NET WebPages มีโครงสร้างโฟลเดอร์สองแบบ ได้แก่ โครงสร้างโฟลเดอร์แบบลอจิคัลและโครงสร้างโฟลเดอร์แบบฟิสิคัล
ในบทนี้คุณจะได้เรียนรู้:
โครงสร้างโฟลเดอร์แบบลอจิคัลและโครงสร้างโฟลเดอร์แบบฟิสิคัล
ชื่อเสมือนและชื่อจริง
URL ของเว็บและเส้นทางของเว็บ
ต่อไปนี้เป็นโครงสร้างโฟลเดอร์เว็บไซต์ ASP.NET ทั่วไป:
โฟลเดอร์ "บัญชี" มีไฟล์ล็อกอินและความปลอดภัย
โฟลเดอร์ "App_Data" มีฐานข้อมูลและไฟล์ข้อมูล
โฟลเดอร์ "รูปภาพ" มีรูปภาพ
โฟลเดอร์ "สคริปต์" มีสคริปต์ของเบราว์เซอร์
โฟลเดอร์ "Shared" มีไฟล์ทั่วไป (เช่น ไฟล์เลย์เอาต์และสไตล์)
โครงสร้างโฟลเดอร์ทางกายภาพของโฟลเดอร์ "รูปภาพ" ในเว็บไซต์ด้านบนบนคอมพิวเตอร์ของคุณอาจเป็นดังนี้:
C:DocumentsMyWebSitesDemoImages
ยกตัวอย่างด้านบน:
ชื่อเสมือนของรูปภาพเว็บไซต์อาจเป็น "Images/pic31.jpg"
ชื่อจริงที่เกี่ยวข้องคือ "C:DocumentsMyWebSitesDemoImagespic31.jpg"
URL ใช้เพื่อเข้าถึงไฟล์บนเว็บไซต์: //www.w3cschool.cn/html/html-tutorial.html
URL สอดคล้องกับไฟล์จริงบนเซิร์ฟเวอร์: C:MyWebSitesw3cschoolhtmlhtml-tutorial.html
เส้นทางเสมือนคือการแสดงชวเลขของเส้นทางทางกายภาพ หากคุณใช้เส้นทางเสมือน คุณไม่จำเป็นต้องอัปเดตเส้นทางเมื่อคุณเปลี่ยนชื่อโดเมนหรือย้ายหน้าเว็บของคุณไปยังเซิร์ฟเวอร์อื่น
URL | //www.w3cschool.cn/html/html-tutorial.html |
ชื่อเซิร์ฟเวอร์ | w3cschool |
เส้นทางเสมือน | /html/html-tutorial.html |
เส้นทางทางกายภาพ | C:MyWebSitesw3cschoolhtmlhtml-tutorial.html |
ไดเรกทอรีรากของดิสก์ไดรฟ์เขียนเป็น C: แต่ไดเรกทอรีรากของเว็บไซต์คือ / (สแลช)
เส้นทางเสมือนของโฟลเดอร์เว็บมักจะแตกต่างจากโฟลเดอร์ที่มีอยู่จริง
ในโค้ดของคุณ ให้ตัดสินใจระหว่างเส้นทางจริงและเส้นทางเสมือนตามความต้องการในการเขียนโค้ดของคุณ
มีเครื่องมือ 3 อย่างสำหรับเส้นทางโฟลเดอร์ ASP.NET: ตัวดำเนินการ ~, วิธี Server.MapPath และวิธี Href
ใช้ตัวดำเนินการ ~ เพื่อระบุเส้นทางเสมือนในโค้ดโปรแกรม
หากคุณใช้โอเปอเรเตอร์ ~ คุณสามารถย้ายไซต์ของคุณไปยังโฟลเดอร์หรือตำแหน่งอื่นได้โดยไม่ต้องเปลี่ยนโค้ดใดๆ:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
วิธีการ Server.MapPath แปลงเส้นทางเสมือน (/index.html) เป็นเส้นทางทางกายภาพที่เซิร์ฟเวอร์เข้าใจ (C:DocumentsMyWebSitesDemodefault.html)
เมื่อคุณต้องการเปิดไฟล์ข้อมูลบนเซิร์ฟเวอร์ คุณสามารถใช้วิธีนี้ (สามารถเข้าถึงไฟล์ข้อมูลได้โดยการระบุเส้นทางทางกายภาพที่สมบูรณ์เท่านั้น):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(ชื่อพาธ);
ในบทถัดไปของบทช่วยสอนนี้ คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับการอ่าน (และการเขียน) ไฟล์ข้อมูลบนเซิร์ฟเวอร์
เมธอด Href แปลงเส้นทางที่ใช้ในโค้ดให้เป็นเส้นทางที่เบราว์เซอร์สามารถเข้าใจได้ (เบราว์เซอร์ไม่สามารถเข้าใจตัวดำเนินการ ~)
คุณสามารถใช้เมธอด Href เพื่อสร้างเส้นทางไปยังทรัพยากร เช่น ไฟล์รูปภาพและไฟล์ CSS
โดยทั่วไปวิธีนี้จะใช้ภายในองค์ประกอบ <a>, <img> และ <link> ใน HTML:
@{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