ASP.NET還內置了導航控件
網址導航
維護一個大型網站的菜單是困難和耗費時間。
在ASP.NET菜單可以存儲在一個文件,使其更易於維護。 此文件通常被稱為web.sitemap ,並存儲在Web根目錄下。
此外,ASP.NET有三個新的導航控件:
- 動態菜單
- 的TreeView
- 網站地圖路徑
站點地圖文件
下面的sitemap文件在本教程中使用:
<?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>子節點(the "home" page)
- 每<siteMapNode>可以有多個子節點(web pages)
- 每<siteMapNode>有屬性定義頁面標題和URL
Note:站點地圖文件必須放置在Web根目錄和URL屬性必須相對於根目錄。
動態菜單
所述<asp:Menu>控件顯示一個標準的站點導航菜單。
Code Example:
<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 ) 。
點擊此處查看Menu,TreeView控件和SiteMapPath控件的演示
樹視圖
所述<asp:TreeView>控件顯示一個多層次的導航菜單。
菜單看起來像,可以開啟或關閉+或分支的樹 - 符號。
Code Example:
<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>控制自動連接到默認站點地圖文件( web.sitemap ) 。
點擊此處查看Menu,TreeView控件和SiteMapPath控件的演示
的SiteMapPath
SiteMapPath控件顯示的線索(navigation path)到當前頁面。 路徑作為可點擊的鏈接上幾頁。
不像TreeView和Menu控件SiteMapPath控件不NOT使用的SiteMapDataSource。 SiteMapPath控件默認使用Web.sitemap文件。
溫馨提示:如果SiteMapPath沒有正確顯示,最有可能的原因是URL錯誤(typo)在Web.sitemap文件。
Code Example:
<form runat="server">
<asp:SiteMapPath runat="server" />
</form>
的<asp:SiteMapPath>在上面的示例性控制為服務器創建站點路徑顯示的佔位符。
點擊此處查看Menu,TreeView控件和SiteMapPath控件的演示