我有一个类似于此处描述的问题:
ASP.NET URL Routing with WebForms - Using the SiteMap
我的 ASP.Net WebForms web 应用程序有一个站点地图,类似于:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Root">
<siteMapNode url="Home" title="Home" />
<siteMapNode url="Home?" title="Home" />
<siteMapNode url="Faq" title="FAQ" />
</siteMapNode>
<siteMapNode url="Reports" title="Your reports" />
<siteMapNode url="Reports?" title="Your reports" />
<siteMapNode url="ExtraReports" title="Extra reports" />
</siteMapNode>
<siteMapNode url="Presentations" title="Your presentations" />
<siteMapNode url="Presentations?" title="Your presentations" />
<siteMapNode url="ExtraPresentations" title="Extra presentations" />
</siteMapNode>
</siteMapNode>
我希望网址采用以下格式::
//host/projects/{company}/{projectno}/Home
://host/projects/microsoft/10/Home
://host/projects/microsoft/ 11/报告
://host/projects/apple/10/ExtraReports
Url 路由将 /projects/{company}/{projectno}/{pagename} 路由到 /Pages/{pagename}.aspx。
我的导航由顶部的 TabStrip 组成,其中应包含Home、Reports 和 Presentations,左侧的菜单及其子项(例如,选择 Home 时应该是:Home、Faq)。
我的问题:
处理重复的 SiteMapNode url 的正确方法是什么?
如何防止 TabStrip 生成如下网址:://host/Home 和 ://host/ExtraReports?
我需要维护当前的公司和项目没有选择,并且站点地图忽略了相对 urlTabStrip 和 Menu 控件需要识别所选项目以显示活动选择。所有这一切的正确解决方案是什么?