动态修改站点地图中的节点以包含参数

本文关键字:节点 包含 参数 修改 站点 地图 动态 | 更新日期: 2023-09-27 18:08:21

我按照这篇文章动态传递querystring到sitemap,得到这个结构"Home> Product> Details"。当我离开页面时,我动态附加的参数不会持续存在。例如,当我从主页访问产品页面时,传递的参数使用上述代码附加到节点url。但是当我从产品导航到详细页面时。然后在站点地图上单击产品,不保存之前附加的参数。Sitemappath控件位于站点主目录

   web.site map 
    <?xml version="1.0" encoding="utf-8" ?> 
 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
 <siteMapNode url="Default.aspx" title="Home"  description="">
 <siteMapNode url="Products.aspx" title="Product"  description="Products" >
 <siteMapNode url="ProductDisplay.aspx" title="Details"  description="Products" />
 </siteMapNode>
 <siteMapNode url="Brands.aspx" title="Brand"  description="Products" >
 <siteMapNode url="ProductDisplay.aspx#1" title="Details"  description="Products" />
 </siteMapNode>
 <siteMapNode url="Designers.aspx" title="Designer"  description="Company Detail" >
 <siteMapNode url="DesignerProductDisplay.aspx" title="Details"  description="DesignerProduct" />
 </siteMapNode>
 <siteMapNode url="Campaign.aspx" title="Campaign"  description="Employee Detail" >
 <siteMapNode url="CampaignProductDisplay.aspx" title="Details"  description="CampPrd" />
 </siteMapNode>
 <siteMapNode url="SignIn.aspx" title="login"  description="CampPrd" />
 <siteMapNode url="Cart.aspx" title="Cart"  description="CampPrd" />
</siteMapNode>
</siteMap>

动态修改站点地图中的节点以包含参数

我相信你一定是钩上了"SiteMapResolveEventHandler"。确保把这个钩在每个柱子上。然后将参数绑定到每个节点。

这不是使用sitemappath控件的最佳方法。我建议为每个链接创建节点。即对于传递的参数的每个可能值。否则它也不会工作,如果你正在建立一个网站地图的网络爬虫,这将是相当无用的。

来源:经验。最近也遇到了同样的问题。