เว็บฟอร์ม ASP.NET - การนำทาง
ส่วนนี้แนะนำการนำทางเว็บไซต์ ASP.NET เป็นหลักและวิธีใช้ตัวควบคุมการนำทางASP.NET มาพร้อมกับตัวควบคุมการนำทางในตัว
การนำทางไซต์
การดูแลรักษาเมนูสำหรับเว็บไซต์ขนาดใหญ่นั้นทำได้ยากและใช้เวลานาน
ใน ASP.NET เมนูสามารถจัดเก็บเป็นไฟล์ได้ ทำให้ง่ายต่อการบำรุงรักษา โดยปกติไฟล์จะมีชื่อว่า web.sitemap และจัดเก็บไว้ในไดเร็กทอรีรากของเว็บไซต์
นอกจากนี้ ASP.NET ยังมีตัวควบคุมการนำทางหลักสามตัว:
เมนูแบบไดนามิก
ทรีวิวส์
เส้นทางแผนที่เว็บไซต์
ไฟล์แผนผังไซต์
ในบทช่วยสอนนี้ มีการใช้ไฟล์แผนผังเว็บไซต์ต่อไปนี้:
<?xml version="1.0" encoding="ISO-8859-1" ?><siteMap><siteMapNode url="/aspnet/w3home.aspx"><siteMapNode url="/aspnet/w3services.aspx"><siteMapNode url = "/aspnet/w3training.aspx"/><siteMapNode url="/aspnet/w3support.aspx"/></siteMapNode></siteMapNode></siteMap>กฎสำหรับการสร้างไฟล์แผนผังไซต์:
ไฟล์ XML ต้องมีแท็ก <siteMap> ล้อมรอบเนื้อหา
แท็ก <siteMap> สามารถมีโหนดย่อย <siteMapNode> ได้เพียงโหนดเดียว (หน้า "home")
แต่ละ <siteMapNode> สามารถมีโหนดย่อยได้หลายโหนด (หน้าเว็บ)
<siteMapNode> แต่ละรายการมีคุณลักษณะที่กำหนดชื่อหน้าและ URL
หมายเหตุ: ไฟล์แผนผังไซต์จะต้องอยู่ในไดเร็กทอรีรากของไซต์ และแอตทริบิวต์ URL จะต้องสัมพันธ์กับไดเร็กทอรีรากนั้น
เมนูไดนามิก
ตัวควบคุม <asp:Menu> จะแสดงเมนูการนำทางไซต์มาตรฐาน
ตัวอย่างรหัส:
<asp:SiteMapDataSource id="nav1" runat="server" /><form runat="server"><asp:Menu runat="server" DataSourceId="nav1" /></form>ตัวควบคุม <asp:Menu> ในตัวอย่างข้างต้นเป็นตัวสำรองสำหรับเซิร์ฟเวอร์ในการสร้างเมนูการนำทาง
แหล่งข้อมูลของตัวควบคุมถูกกำหนดโดยคุณสมบัติ DataSourceId id="nav1" เชื่อมต่อแหล่งข้อมูลกับตัวควบคุม <asp:SiteMapDataSource>
ตัวควบคุม <asp:SiteMapDataSource> จะเชื่อมต่อกับไฟล์แผนผังไซต์เริ่มต้น ( web.sitemap ) โดยอัตโนมัติ
ทรีวิว
ตัวควบคุม <asp:TreeView> จะแสดงเมนูการนำทางหลายระดับ
เมนูนี้ดูเหมือนต้นไม้มีกิ่งก้าน สามารถเปิดหรือปิดได้โดยใช้สัญลักษณ์ + หรือ -
ตัวอย่างรหัส:
<asp:SiteMapDataSource id = "nav1" runat = "เซิร์ฟเวอร์" /><form runat = "เซิร์ฟเวอร์"><asp:TreeView runat = "เซิร์ฟเวอร์" DataSourceId = "nav1" /></form>ตัวควบคุม <asp:TreeView> ในตัวอย่างข้างต้นเป็นตัวสำรองสำหรับเซิร์ฟเวอร์เพื่อสร้างเมนูการนำทาง
แหล่งข้อมูลของตัวควบคุมถูกกำหนดโดยคุณสมบัติ DataSourceId id="nav1" เชื่อมต่อแหล่งข้อมูลกับตัวควบคุม <asp:SiteMapDataSource>
ตัวควบคุม <asp:SiteMapDataSource> จะเชื่อมต่อกับไฟล์แผนผังไซต์เริ่มต้น ( web.sitemap ) โดยอัตโนมัติ
SiteMapPath
ตัวควบคุม SiteMapPath จะแสดงตัวชี้ (เส้นทางการนำทาง) ไปยังหน้าปัจจุบัน เส้นทางจะปรากฏเป็นลิงก์ที่สามารถคลิกได้ไปยังเพจหลัก
แตกต่างจากตัวควบคุม TreeView และเมนู ตัวควบคุม SiteMapPath ไม่ได้ใช้ SiteMapDataSource ตัวควบคุม SiteMapPath ใช้ไฟล์ web.sitemap ตามค่าเริ่มต้น
เคล็ดลับ: หาก SiteMapPath แสดงไม่ถูกต้อง อาจเกิดจากข้อผิดพลาด URL (ข้อผิดพลาดในการพิมพ์) ในไฟล์ web.sitemap
ตัวอย่างรหัส:
<form runat="server"><asp:SiteMapPath runat="เซิร์ฟเวอร์" /></form>ตัวควบคุม <asp:SiteMapPath> ในตัวอย่างข้างต้นเป็นตัวสำรองสำหรับเซิร์ฟเวอร์ในการสร้างเมนูการนำทาง
ข้างต้นเป็นเรื่องเกี่ยวกับการใช้การนำทางของ ASP.NET คุณสามารถเข้าถึงเพจได้อย่างรวดเร็ว