程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 在ASP.NET 2.0中建立站點導航層次

在ASP.NET 2.0中建立站點導航層次

編輯:關於ASP.NET

站點導航提供程序--ASP.NET2.0中的站點導航提供程序暴露了應用程序中的頁面的導航信息,它允許你單獨地定義站點的結構,而不用考慮頁面的實際物理布局。默認的站點導航提供程序是基於XML的,但是你也可以通過編寫自定義的提供程序,從任何後端位置暴露這些信息。

站點導航API--站點導航API用於在應用程序的代碼中訪問站點導航信息,它摘錄了導航信息存儲的細節。你可以使用API來編程訪問應用程序的導航節點。

導航控件--導航控件為頁面之間的導航提供了通用的UI,例如樹視圖、菜單和breadcrumb("面包屑",一種顯示當前所在頁面的控件)。這些控件利用ASP.NET2.0中的站點導航服務來檢索你給站點定義的結構。SiteMapDataSource控件還允許你把其它UI控件綁定到站點導航數據。 

網站經常需要顯示導航數據,來指導用戶如何使用站點。ASP.NET中的導航特性允許開發者簡單地定義導航數據,並根據這些信息來顯示UI。

站點導航API是一種用於訪問站點導航數據的基於提供程序(provider)的編程內容。該API把導航數據存儲在XML文件中,並通過一組SiteMapNode類來暴露這些數據。應用程序和控件開發者可以構建SiteMapNode實例並使用這些信息來顯示導航界面。

面向導航的服務器控件包括Menu、TreeView、SiteMapPath和SiteMapDataSource控件。這些控件都是建立在站點導航類的頂端的,它們使用和顯示導航數據的時候都是不考慮數據存儲的特定細節問題的。Menu和TreeView控件還可以使用XML文件的數據和XMLDataSource控件的數據。

Url映射特性允許開發者為不同URL請求的重映射(re-mapping)定義簡單的規則。

使用站點導航控件

Menu、TreeView、SiteMapPath和SiteMapDataSource控件根據導航數據生成導航界面。導航數據可以存儲在XML文件中,或者利用站點導航特性的基於提供程序的能力來保存。下面的例子演示了如何組合使用站點導航特性的不同控件。

建立應用程序站點地圖

示例的導航結構存放在Web.sitemap文件中,在下面你可以看到站點地圖文件。Web.sitemap文件包含一個頂層的<siteMap>元素。在<siteMap>元素內至少嵌套一個<siteMapNode>元素。在一個站點地圖內必須有一個頂層的<siteMapNode>。站點導航特性需要一個根<siteMapNode>來確保沿著節點層次的訪問最終匯聚到一個已知的節點。你可以在根<siteMapNode>元素下嵌套多個<siteMapNode>元素。此外,嵌套<siteMapNode>元素的深度是沒有限制的。

一個<siteMapNode>元素通常包含Url(鏈接)、Title(標題)和Description(描述)屬性。Url屬性指明與應用程序中的頁面對應的路徑。它也可以包含其它應用程序中的頁面的路徑,或者指向完全不同的網站的多個URL。在下面的例子中,所有的Url屬性都使用應用程序相對語法來引用路徑。Title屬性用於顯示導航數據UI的文本內容。例如,SiteMapPath控件把Title屬性作為控件的超鏈接文本顯示。如果提供了Description屬性,服務器控件就把顯示為工具條提示或ALT文本。開發者也可以給<siteMapNode>添加自定義屬性,利用SiteMapNode類的默認索引器(indexer)就可以檢索這些屬性了。你可以查閱.NET框架組件文檔找到更多的關於<siteMapNode>元素其它一些屬性的信息。

Web.sitemap的內容

以下是引用片段:
<siteMap>
<siteMapNode title="Home" url="~/default.aspx" >
<siteMapNode title="Introduction to ASP.NET" url="~/introduction/default.aspx">
<siteMapNode title="What's New in Whidbey?" url="~/introduction/whatsnew.aspx"/>
<siteMapNode title="Sample Applications (Starter Kits)" url="~/introduction/starterkits.aspx"/>
<siteMapNode title="Introduction to Visual Web Developer" url="~/introduction/vwd.aspx"/>
</siteMapNode>
<siteMapNode title="Building A Web Application" url="~/development/default.aspx">
<siteMapNode title="Building a Simple Application" url="~/development/simple/default.aspx">
<siteMapNode title="Introduction to ASP.NET pages" url="~/development/simple/pages.aspx"/>
……
</siteMapNode>
</siteMapNode>
</siteMap>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved