Site Map Files/Provider
I've been working with a complex site, a site for my church that also has many different ministries under the root. Rather than make each of these sites a virtual directory, I instead made everything a subfolder, but only have one virtual for the main site. This makes it easier with resources like the bin directory, themes, etc. I have one web.sitemap at the root, which has all of the links within. Each ministry section has a site map provider, like such:
<asp:SiteMapDataSource ID="smsSitemap" runat="server" ShowStartingNode="false" StartingNodeUrl="~/redirect.aspx?ministry=sb" />
The sitemap looks something like this:
<siteMapNode title="Ministry" url="~/redirect.aspx?ministry=name">
<siteMapNode title="1" url="page1.aspx" />
<siteMapNode title="2" url="page2.aspx" />
<siteMapNode title="3" url="page3.aspx" />
</siteMapNode>
Because I don't want to show the root page, but want all of the sublinks to show (otherwise, I believe all of the links would be children of the root menu item; I want each sub page (1,2,3) to be its own root item), I don't show the starting node. The starting node needs a url to start with. After playing around with it, I found that it would take query string parameters as part of that uniqueness. One way to ensure a unique value is using a redirect page.
Because I don't want to show the root page, but want all of the sublinks to show (otherwise, I believe all of the links would be children of the root menu item; I want each sub page (1,2,3) to be its own root item), I don't show the starting node. The starting node needs a url to start with. After playing around with it, I found that it would take query string parameters as part of that uniqueness. One way to ensure a unique value is using a redirect page.