【问题标题】:Modifying nodes in sitemap dynamically to include parameters动态修改站点地图中的节点以包含参数
【发布时间】:2015-08-20 19:44:54
【问题描述】:

我关注了这个帖子Dynamically pass querystring to sitemap,得到了这个结构“主页>产品>详细信息”。当我离开页面时,我动态附加的参数不会持续存在。例如,当我从家进入产品页面时,传递的参数将使用上面的代码附加到节点 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>

【问题讨论】:

    标签: c# asp.net sitemap


    【解决方案1】:

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

    【讨论】:

    • 我已经拥有并且节点 url 被修改。但是当我从页面导航到另一个页面然后单击站点地图链接返回上一页时,更改将丢失
    【解决方案2】:

    这不是使用站点地图路径控件的最佳方法。我建议为每个链接创建节点。即对于传递的参数的每个可能值。否则,如果您正在为网络爬虫构建站点地图,它也不会起作用,这几乎没用。

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

    【讨论】:

    • 编写一个函数来查询你的 dp 以创建链接。
    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多