通过向SiteMapResolve事件添加自定义处理程序,我可以通过我定义的某些逻辑动态更新sitemap url。
这对于SiteMapPath控件来说是可以的,它似乎使用了这个SiteMapResolve功能......但是我想为使用SiteMapDataSource的asp.net Menu控件实现类似的结果。使用SiteMapResolve处理程序更改节点没有任何效果。
有人能指出我正确的方向吗? 干杯:D
编辑:源代码 我删除了所有不必要的东西,并留下以下内容 - 我必须误解与menuItemCollecton的结构有关但它总是空的。
的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="Homepage" description="Home">
<siteMapNode url="secondpage.aspx" title="Page 2" />
</siteMapNode>
</siteMap>
的Default.aspx
<?xml version="1.0" encoding="utf-8" ?>
default.aspx.vb
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
答案 0 :(得分:0)
感谢你指点穆罕默德,但我想我已经解决了这个问题。
我想menuItemCollection只查看静态定义的项目(即在菜单的代码中)我将链接到XML数据源 - 所以Muhammad的解决方案不起作用
我已经通过将我的代码放入menu_MenuItemDataBound事件来解决了这个问题 - 并且我得到了我想要的结果。
感谢您的帮助!