用谷歌搜索,但无法得到答案。
<siteMapNode url="~/BV1Menu.aspx" title="Baseline Visit 1 Menu" description="Baseline Visit 1 Menu">
<siteMapNode url="~/Forms/RAND.aspx" title="RAND" description="RAND BV1" />
<siteMapNode url="~/Forms/PDQ.aspx" title="PDQ 39" description="PDQ 39" />
<siteMapNode url="~/Forms/HSU.aspx" title="Health Status Update" description="Health Status Update" />
</siteMapNode>
<siteMapNode url="~/MonthlyMenu.aspx" title="Monthly Menu" description="Monthly Menu">
<siteMapNode url="~/Forms/HSU.aspx" title="Health Status Update 1" description="Health Status Update" />
</siteMapNode>
正如你所看到的,我在这里有2个"~/Forms/HSU.aspx",所以它给了我一个例外,说"多个节点具有相同的URL"。
我尝试了两种方法来解决它,但从未实现。我有一个加密的查询字符串。
添加"#"。当我像"~/Forms/HSU.aspx#?eq=12346789"这样添加"#"时,由于eq为null而无法工作。当我像"~/Forms/HSU.aspx?eq=12346789#"这样添加"#"时,不起作用,因为SiteMap控件总是找到第一个HUS.aspx作为当前节点,它的父节点将是BV1Menu.aspx。
正在添加伪查询字符串。不起作用,与上面第二个情况相同。
我知道有一个URL重写解决方案,但我的查询字符串是加密的,无法重写URL。
请帮忙。
下面是一个我正在处理的项目的例子,它对我来说很好:
<siteMapNode url="~/ExperimentsView.aspx?path=htt" title="HTT" />
<siteMapNode url="~/ExperimentsView.aspx?path=mtt" title="MTT"/>
<siteMapNode url="~/ExperimentsView.aspx?path=HPLC" title="HPLC"/>
<siteMapNode url="~/ExperimentsView.aspx?path=UVSpec" title="UV-Spec"/>