Web Forms 導航
ASP.NET 附有內建的導航控制項。
網站導覽
維護大型網站的選單是困難且耗時的。
在 ASP.NET 中,選單可儲存在檔案中,如此易於維護。檔案通常名稱為 web.sitemap,並且被存放在網站的根目錄下。
此外,ASP.NET 有三個心的導航控制:
- Dynamic menus
- TreeViews
- Site Map Path
Sitemap 檔案
在本教學中,使用下面的sitemap 檔案:
<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 屬性必須相對於該根目錄。
動態選單
<asp:Menu> 控制項可顯示標準的網站導覽功能表。
程式碼實例:
#< 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> 控制項可顯示多層導航選單。
這種選單看起來像一棵帶有枝葉的樹,可透過 + 或 - 符號來開啟或關閉。
程式碼實例:
#< 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 沒有正確顯示,很可能是由於 web.sitemap 檔案中存在 URL 錯誤(列印錯誤)。
程式碼實例:
<asp:SiteMapPath runat="server" />
</form>
上面實例中的<asp:SiteMapPath> 控制項是一個供伺服器建立導覽功能表的佔位符。