The first on is easy :). You will describe the items in your web.sitemap. And bind the Asp:Menu control with it...
The second has two solutions that I have in mind:
For displaying it ... may-be another asp:Menu control
1. First solution :
You should have another FullWeb.sitemap. And another sitemap provider. The only disadvantage is that you should fill in all available pages in the FullWeb.sitemap
<siteMap defaultProvider="defaultProvider">
<providers>
<add name="defaultProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Web.sitemap"/>
<add name="fullProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/FullWeb.sitemap"/>
</providers>
</siteMap>
<asp:SiteMapDataSource ID="fullSiteMapDataSource" runat="server" SiteMapProvider="fullProvider" />
2. Second solution
make your own SiteMapProvider. But this is some kind of challenge :)
public class MyProvider : SiteMapProvider
{
public override SiteMapNode FindSiteMapNode(string rawUrl)
{
}
public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
{
}
public override SiteMapNode GetParentNode(SiteMapNode node)
{
}
protected override SiteMapNode GetRootNodeCore()
{
}
}
<siteMap defaultProvider="defaultProvider">
<providers>
<add name="defaultProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Web.sitemap"/>
<add name="fullProvider" type="SiteMapProvider" siteMapFile="~/FullWeb.sitemap"/>
</providers>
</siteMap>
<asp:SiteMapDataSource ID="fullSiteMapDataSource" runat="server" SiteMapProvider="fullProvider" />