SiteMapPath 如何显示带分页的动态地址?

Triumph 2007-01-15 10:35:00
Web.sitemap 中定义有分类:
...
<siteMapNode title="分类1" url="~/categorylist.aspx?categoryid=1" description="">
...

用 SiteMapPath 显示正常,但当分页时,地址为:
categorylist.aspx?categoryid=1&pageid=2
时就不显示了。

SiteMapPath 在显示时是判断当前地址是否与在 Web.sitemap 定义有地址相同,如相同则能正常显示,但像上面的动态地址如何能正常显示?

因为分页是不固定的,所以无法都写进 Web.sitemap 文件中。
...全文
789 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqwangping 2010-04-06
  • 打赏
  • 举报
回复
关注 up
Triumph 2007-01-24
  • 打赏
  • 举报
回复
没有简单的吗?
woolhoo 2007-01-17
  • 打赏
  • 举报
回复
这是一个典型的sitemappath没有后续querystring的问题,

解决方案:

首先,在global.asax中的application_start中加入sitemapresolve的事件句柄

void Application_Start(object sender, EventArgs e)
{
SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(AddQueryString);
}

之后在global.asax文件中建立事件句柄

SiteMapNode AddQueryString(object o, SiteMapResolveEventArgs e) {
SiteMapNode TempNode = null;
if (SiteMap.CurrentNode != null) {
TempNode = SiteMap.CurrentNode.Clone(true);
TempNode.Url += ("?" + HttpContext.Current.Request.QueryString);
//在这里可以为父级path加querystring,主要看你的参数传递到几级页面,一般只需要两级页面,所以只给直接父级加就可以了
if (TempNode.ParentNode != null) TempNode.ParentNode.Url += ("?" + HttpContext.Current.Request.QueryString);
return TempNode;
} else return null;
}

Deneral 2007-01-17
  • 打赏
  • 举报
回复
关注
第11章 HTML客户端控件与服务器控件 245 11.1 数据控件应用技巧 246 0444 如何将数组绑定到GridView数据控件中 246 0445 使用GridView Web服务器控件绑定数据源 246 0446 使用GridView Web服务器控件自定义外观风格 247 0447 使用GridView Web服务器控件的简单排序 247 0448 如何在GridView Web服务器控件中分页 248 0449 使用GridView Web服务器控件编辑数据 249 0450 使用GridView Web服务器控件删除数据 251 0451 如何使用GridView Web服务器控件选择数据 252 0452 单击GridView控件按钮刷新保持原来的位置 253 0453 向GridView Web控件中添加CheckBox控件 253 0454 如何使用GridView Web控件实现超级链接 254 0455 在GridView Web控件中高亮显示鼠标所在行 256 0456 实现DataList Web服务器控件数据绑定功能 256 0457 如何实现DataList Web服务器控件分页功能 258 0458 实现查看DataList控件中数据的详细信息 259 0459 如何在DataList控件中创建多个列 260 0460 如何实现DetailsView 控件分页功能 261 0461 将DataSet类对象绑定到Repeater数据控件中 262 11.2 导航控件应用技巧 263 0462 TreeView、SiteMapDataSource控件和SiteMap文件实现导航 263 0463 如何在TreeView控件中添加连接线 264 0464 以编程方式向TreeView控件中添加节点 264 0465 如何在TreeView控件中显示CheckBox控件 265 0466 如何判断TreeView控件中被勾选的节点 265 0467 用SiteMapPath控件绑定SiteMap文件实现导航 266 0468 如何设置SiteMapPath控件路径分隔符 266 0469 如何设置SiteMapPath控件路径方向 267 0470 如何设置SiteMapPath控件父节点显示个数 267 0471 如何设置SiteMapPath控件提示字符 268 0472 如何用Menu控件绑定SiteMap文件实现导航 268 0473 如何设置Menu控件显示静态菜单 269 0474 如何以编程方式创建Menu控件 270 11.3 标准控件应用技巧 271 .。。。。。。。。。。。。。。。。。。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧