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