一、根據網站地圖Web.sitemap來顯示麵包屑(SiteMapPath控制項): 1.首先要建立一個網站地圖Web.sitemap,最好在根目錄下,如果已經建立,那麼直接在裡面增加你需要添加麵包屑的節點就行。SiteMapPath控制項由多個節點群組成,節點可分為以下3個類型:根節點、父節點、當前節點。網站地圖裡可隨意添加,多少都行,但是要理清節點的“父子關係”。Web.sitemap中的代碼如下:
<?xml version="1.0" encoding="utf-8"?><!--以下是麵包屑1 --> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"><siteMapNode url="~/Index.aspx" title="首頁" description=""><siteMapNode url="~/Company.aspx" title="公司介紹" description=""> <siteMapNode url="~/1.aspx?" title="公司簡介" description="" /> <siteMapNode url="~/2.aspx?" title="公司目標" description="" /> </siteMapNode> <siteMapNode url="~/New.aspx" title="新聞中心" description=""> </siteMapNode> <siteMapNode url="~/Pruduct.aspx" title="產品中心" description=""> </siteMapNode> <siteMapNode url="~/Project.aspx" title="專案中心" description=""> </siteMapNode> <siteMapNode url="~/Join.aspx?" title="招聘英才" description="" > </siteMapNode> <siteMapNode url="~/About.aspx?" title="聯絡我們" description="" ></siteMapNode><!--結束上面的麵包屑1--> <!--不同aspx頁面的麵包屑2--><siteMapNode url="#" title="**" description=""><siteMapNode url="#" title="**" description=""> ......</siteMapNode>......</siteMapNode><!--結束上面的麵包屑2--></siteMap>
注意: a.如果在url 屬性值中,列出了不存在的 URL 或列出了重複的 URL,將導致請求Web 應用程式將失敗。 b.如果在url 屬性值中,添加了相關參數(如:url=”Second.aspx?id=1″),也有可能導致請求Web 應用程式將失敗。 c.在url 屬性值中,可以“~/”快速鍵開頭,該快速鍵表示應用程式根目錄。 2.插入控制項<asp:SiteMapPath>控制項,代碼是:
<asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>
只要在你需要添加麵包屑的aspx檔案的那個具體位置添加上以上這段代碼就可以實現。 3.關於麵包屑(SiteMapPath控制項)的一些屬性介紹: 我可以通過很多可用的屬性來控制麵包屑(SiteMapPath控制項)的表示以及單個的連結。下面的列表提供了這其中一部分屬性(更詳細的屬性參看MSDN): PathSeparator:讓你能夠用其他的字元作為連結的分隔字元,而不用預設的大於符號(>)。 PathDirection:讓你能夠按照從左至右的順序顯示路徑;也就是說,從當前結點開始,從該點向右移動(RootToCurrent),或者首先顯示當前節點,向右顯示到達根節點的路徑(CurrentToRoot)。 RenderCurrentNodeAsLink:用來表示當前節點是否被作為一個連結顯示出來。這是一個布爾值。 PathLevelsDisplayed:讓你能夠指定需要顯示的結構的層數。 ShowToolTips:用來表示當滑鼠移動到一個連結上時,是否顯示工具提示資訊。工具提示資訊在網站地圖檔案的節點描述屬性裡定義。 如:
<!--樣式1--> <asp:SiteMapPath ID="SiteMapPath1" Runat="server"> <PathSeparatorTemplate> <asp:Image ID="Image1" Runat="Server" Width="20" ImageUrl="uploadfiles/0022.GIF" /> </PathSeparatorTemplate> </asp:SiteMapPath> <!--樣式2--> <asp:SiteMapPath ID="SiteMapPath2" Runat="server" PathDirection="CurrentToRoot" PathSeparator=" <-- " > </asp:SiteMapPath> <!--樣式3--> <asp:SiteMapPath ID="SiteMapPath3" Runat="server" SkipLinkText="Skip Menu" RootNodeStyle-Font-Names="Verdana" RootNodeStyle-ForeColor="Orange" RootNodeStyle-BorderWidth=2 > </asp:SiteMapPath> <!--樣式4--> <asp:SiteMapPath ID="SiteMapPath4" Runat="server" PathSeparator=" :: "> </asp:SiteMapPath>
以下是關於一些網上資料的甄別: 1.網上有些資料說要配置Web.Config:
<system.web><siteMap defaultProvider="default" enabled="true"><providers><add name="default" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap" securityTrimmingEnabled="true"/></providers></siteMap></system.web><!--"defaultProvider="default"和"name="default""必須一樣!siteMapFile="Web.sitemap"也不能少,不然程式找不到地圖!-->
但是我發現我做這個項目的時候的開發環境(Visual Studio 2010)是不用的,不知道其他開發環境是不是也一樣,也就寫在這供大家參考咯。 2.網上有些資料說使用<asp:SiteMapDataSource>控制項綁定資料,但是麵包屑(SiteMapPath控制項)有一個比較有意思的地方是,它不像Menu和TreeView控制項那樣需要使用SiteMapDataSource控制項。 SiteMapPath控制項在預設狀態下與網站地圖檔案綁定在一起(也就是說它被放在應用程式的根裡)。
二、在根網站地圖中添加子網站地圖檔來顯示麵包屑(SiteMapPath控制項): <。--待續-->