最新的Web開發教程
 

ASP.NET Web窗體 - 導航


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控件的演示