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

时间:2015-08-18 06:54:12

标签: c# asp.net sitemap

我关注了这篇文章Dynamically pass querystring to sitemap并得到了这个结构" Home>产品>细节&#34 ;.当我离开页面时,我动态附加的参数不会持续存在。例如,当我从家中访问产品页面时,传递的参数将使用上面的代码附加到节点URL。但是当我从Product导航到详细页面时。然后单击站点地图上的产品,之前附加的参数不会保存。 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>

2 个答案:

答案 0 :(得分:0)

我相信你一定已经迷上了#34; SiteMapResolveEventHandler&#34;。确保将其挂在每个帖子上。然后它将参数绑定到每个节点。

答案 1 :(得分:0)

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

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