日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

根据URL参数显示网站地图

發布時間:2025/5/22 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 根据URL参数显示网站地图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 網站地圖文件Web.sitemap

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
??? <siteMapNode url="~/Default.aspx" title="首頁"? description="首頁" resourceKey="root">
????? <siteMapNode url="~/Category.aspx" title="分類頁" description="分類頁" resourceKey="category">
??????? <siteMapNode url="~/Item.aspx" title="單品頁" description="單品頁" resourceKey="item" />
????? </siteMapNode>
??? </siteMapNode>
</siteMap>

2. 頁面上增加站點地圖控件

<asp:SiteMapPath ID="SiteMapPath1" runat="server">
?</asp:SiteMapPath>

??? 頁面就會顯示出相應的頁面站點地圖名:

??? 首頁、分類頁、單品頁 等

3. 覆寫方法,使得面包屑顯示的名稱更為人性化

??? 比如女裝分類頁面,地圖上不只是顯示:首頁->分類頁,而是顯示為:首頁->女裝分類。

??? 這樣就要在 分類頁Category.aspx ,Page_Load里增加事件:

??? if (!IsPostBack && !string.IsNullOrEmpty(Request.QueryString["name"]))
?? {
?????? SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(thisPage_SiteMap_SiteMapResolve);
??? }

??? SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(thisPage_SiteMap_SiteMapResolve);

??? 事件說明:

??? SiteMapResolve事件處理動態地改變目前的SiteMapNode。

??? 本頁面覆寫事件方法thisPage_SiteMap_SiteMapResolve:

??????? SiteMapNode thisPage_SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
??????? {
??????????? // 只需要在一個執行一個請求

??????????? SiteMap.SiteMapResolve -= new SiteMapResolveEventHandler(thisPage_SiteMap_SiteMapResolve);

??????????? if (SiteMap.CurrentNode != null)
??????????? {
??????????????? // SiteMap.CurrentNode是只讀的,所以我們需要一個克隆操作

??????????????? SiteMapNode currentNode = SiteMap.CurrentNode.Clone(true);

??????????????? currentNode.Title = Request.QueryString["name"];

??????????????? // Use the changed one in the breadcrumb.
??????????????? return currentNode;
??????????? }
??????????? return null;
??????? }

???? 這樣URL :/Category.aspx?name=女裝分類 ,顯示為 : 首頁 > 女裝分類

?4. 覆寫 單品頁 站點地圖面包屑。

???? 在覆寫前,顯示如下 首頁 > 分類頁 > 單品頁

???? 要顯示如下: 首頁 > 女裝分類 >?時尚外套

???? 同上面增加頁面?

???? if (!IsPostBack && !string.IsNullOrEmpty(Request.QueryString["name"]))
?? {
?????? SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(thisPage_SiteMap_SiteMapResolve);
??? }

??? 覆寫方法:

???

SiteMapNode thisPage_SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
??????? {
??????????? // 只能請求一次
??????????? SiteMap.SiteMapResolve -= new SiteMapResolveEventHandler(thisPage_SiteMap_SiteMapResolve);

??????????? if (SiteMap.CurrentNode != null)
??????????? {
??????????????? // SiteMap.CurrentNode是只讀的,所以我們需要一個克隆操作。
??????????????? SiteMapNode currentNode = SiteMap.CurrentNode.Clone(true);

??????????????? currentNode.Title = Request.QueryString["name"];
??
??//從數據庫取出當前單品的分類名
??????????????? currentNode.ParentNode.Title = Database.GetCategoryByItem(Request.QueryString["name"]);
??????????????? currentNode.ParentNode.Url = "/Category.aspx?name=" + Database.GetCategoryByItem(Request.QueryString["name"]);

??????????????? // 返回改變后的面包屑
??????????????? return currentNode;
??????????? }
??????????? return null;
??????? }

?下載代碼

轉載于:https://www.cnblogs.com/anan/archive/2011/04/15/2016959.html

總結

以上是生活随笔為你收集整理的根据URL参数显示网站地图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。