根据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参数显示网站地图相关推荐
- ASP.NET 实践:在非层次化控件中显示网站地图的数据
网站地图数据包含的是层次化信息,每个节点都可以包含零个或多个子节点.TreeView 和 Menu 控件就是专门为层次化数据而设计的.但是,网站地图数据也可以绑定到非层次化控件(如 DropDownL ...
- 网络推广策略带你了解网站地图Sitemap的作用是什么?
在网站优化中,网络推广策略中的网站地图Sitemap的初心是为了方便用户浏览而建立的.最后不仅达到了提升用户体验的目的,还能逐渐吸引搜索引擎的注意,从此提升网站的收录率,实现一举两得的效果.那么网站地 ...
- 网站XML格式的网站地图(sitemap)格式
给网站建立一个sitemap.xml的网站地图有助于搜索引擎对网站的抓取效率,对于很多新手站长来说不知道怎么建立一个xml格式的网站地图,本文就将给大家把sitemap地图的格式贴出来,大家只需要简单 ...
- HTML基础(四):注释、URL参数、访问路径、图片地图
1.注释:<!- -内容- -> <body><iframesrc="http://www.sina.com.cn"height="300& ...
- html的子页面获取自己url,如何从html页面获取url参数并将其显示在textarea中?
我用下面的在我的HTML页面的JavaScript功能,我想没有textarea的任何连接操作正常显示参数....如何从html页面获取url参数并将其显示在textarea中? function g ...
- jar 工程我怎么在网页上url访问某一个方法_url及url参数与seo网站优化的关系
短视频,自媒体,达人种草一站服务 首先我还是援引下百度百科关于url的定义. 统一资源定位符(Uniform Resource Locator,缩写为URL)是对可以从互联网上得到的资源的位置和访问方 ...
- ECshop生成网站地图url
ECShop简单重写或动态,ECshop生成网站地图URL重复不能打开 2013-9-2 在管理业目录下面? /admin/sitemap.php 生成的网站地图地址:http://www.jdcct ...
- Go爬虫colly官方示例二十一【shopify_sitemap】- 使用XPath请求抓取shopify网站地图里url
文章目录 示例介绍 示例代码 名词解释 Sitemap 简介 XPath 输出 转载请标明出处: http://blog.csdn.net/qq_27818541/article/details/11 ...
- seo 优化 以及网站地图 很透彻
一.什么是搜索引擎 搜索引擎是一个帮助用户搜索他们需要内容的计算机程序.换一种说法,搜索引擎把计算机中存储的信息与用户的信息需求相匹配,并把匹配的结果展示出来. 举个例子:你想买iPhone12,想了 ...
最新文章
- linux 内核 sscanf,linux sscanf()
- UIApplicaton详情
- 网络编程学习笔记(getsockopt和setsockopt函数)
- StoreFront 登陆页面的话持续时间
- matlab 凹盘,刹车盘凹槽是怎么形成的
- 计算机程序无法运行,win7电脑程序打不开解决方法
- linux ip head check sun,linux panic 问题定位
- 在C4C UI里嵌入CRM WebClient UI
- 算法设计中的基础常用代码
- 房子网签后房产局查不到信息_日本房子:1R、1LDK分不清?凶宅如何分辨?
- Qt DLL总结【三】-VS2008+Qt 使用QPluginLoader访问DLL
- 洛谷 P1028 数的计算【递推】
- Zabbix 触发器函数方法整理
- mybatis 存储过程 tmp_count_MyBatis框架介绍及实战操作
- Rviz教程系列第一章之Markers
- linux服务器时间不一致,Linux服务器时间不准确
- 华为盒子EC6110-T-通刷-免拆刷机固件及教程
- TCP、UDP、CoAP、LwM2M、MQTT简单对比
- 物联网共享打印机系统是怎么做出来的?
- FME进阶视频教程: FME使用技巧之高级扇出,讲解在FME中输出数据的高级方式,满足数据个性化分类输出的需求
热门文章
- mongoDB - 日常操作四
- 在路上---学习篇(一)Python 数据结构和算法 (4) --希尔排序、归并排序
- 1091. Acute Stroke (30)
- CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装
- [ios2]iOS 使用subversion管理iOS源代码 【转】
- cursor_sharing用法
- windows10风格 springboot activiti 整合项目框架源码 shiro 安全框架 druid 数据库连接池...
- Android PullToRefreshListView设置各个item之间的间距
- Duo Labs:五大厂商的笔记本预装软件存在重大安全隐患
- How to tell if UIViewController's view is visible