0
的文档是清楚的:在站点地图的两个节点不能指向同一个文件。但我需要能够做到这一点(不同的角色运行相同的报告)。这是否意味着我必须放弃站点地图?我讨厌这样做,因为我非常喜欢它的其他功能。工作围绕地图的局限性
的文档是清楚的:在站点地图的两个节点不能指向同一个文件。但我需要能够做到这一点(不同的角色运行相同的报告)。这是否意味着我必须放弃站点地图?我讨厌这样做,因为我非常喜欢它的其他功能。工作围绕地图的局限性
的简单的解决方案,同时仍使用ASP.Net站点地图,将是通过添加伪查询字符串/锚参数来区分2个网址。例如。
<siteMapNode url="~/Report.aspx?x=1" title="Report 1" description="Report 1" />
<siteMapNode url="~/Report.aspx?x=2" title="Report 2" description="Report 1 with different name" />
OR
<siteMapNode url="~/Report.aspx#1" title="Report 1" description="Report 1" />
<siteMapNode url="~/Report.aspx#2" title="Report 2" description="Report 1 with different name" />
我个人比较喜欢的查询字符串的解决方案
哦,好的。这是闪避,但它是无害的。我会用它。 我有一个相关的问题,有关链接到场外页。同样,规则说这是不允许的,而我的客户坚持允许。有没有解决方法? 而且,还因为我是比较新的在这里,我应该张贴上述作为一个单独的问题?我确实想遵循协议。 –
@SkipKnox,也有一些是关于[MSDN文档]在添加外部URL的站点地图(http://msdn.microsoft.com/en-us/library/ms227425.aspx),其表示“在一个网站地图,你可引用您的ASP.NET应用程序之外的URL。但是,访问URL的应用程序之外,不能由ASP.NET测试..如果启用安全修整,你必须对应于外部URL站点地图结点,将这些节点上的角色属性设置为星号(*),这将使所有客户端都能够查看链接,即使ASP.NET无法授权访问外部链接。“ –
如果您担心安全调整设置,则可以在应用程序中使用页面/ HTTP处理程序,以便重定向到外部站点。如果您想捕获有多少用户点击了外部链接,这是一个更优雅的解决方案。如果这些答案确实解决了您的问题,那么如果您可以将其标记为答案并为其投票,那就太好了。 –