动态修改站点地图中的节点以包含参数
Modifying nodes in sitemap dynamically to include parameters
我按照这个 post Dynamically pass querystring to sitemap 得到了这个结构 "Home > Product > Details"。当我离开页面时,我动态附加的参数不会持续存在。例如,当我从家里来到产品页面时,传递的参数使用上面的代码附加到节点 url 。但是当我从产品导航到详细信息页面时。然后在站点地图上单击产品,之前附加的参数未保存。 Sitemappath 控件放在 site master
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"。确保在每个 post 背上都挂上这个。然后它将参数绑定到每个节点。
这不是使用站点地图路径控件的最佳方法。我建议为每个 link 创建节点。即对于传递的参数的每个可能值。 else 如果你正在为网络爬虫构建站点地图,它也不会工作,这几乎没有用。
来源:经验。最近遇到了同样的问题。
我按照这个 post Dynamically pass querystring to sitemap 得到了这个结构 "Home > Product > Details"。当我离开页面时,我动态附加的参数不会持续存在。例如,当我从家里来到产品页面时,传递的参数使用上面的代码附加到节点 url 。但是当我从产品导航到详细信息页面时。然后在站点地图上单击产品,之前附加的参数未保存。 Sitemappath 控件放在 site master
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"。确保在每个 post 背上都挂上这个。然后它将参数绑定到每个节点。
这不是使用站点地图路径控件的最佳方法。我建议为每个 link 创建节点。即对于传递的参数的每个可能值。 else 如果你正在为网络爬虫构建站点地图,它也不会工作,这几乎没有用。
来源:经验。最近遇到了同样的问题。