Page shared by many parents in Sitemap??

Nov 11, 2010 at 3:49 PM

Hi all,

We have an application that is somewhat ebay like where we display items.

A user can get to a ViewItem screen like so:

 

OpenBids --> Auction

Won --> Auction

Lost --> Auction

Search -->Auction

Category -->Auction

Right now

the user is directed to /Auction/{itemNumber} in the routing.

I suppose I could pass the the parent like so: /Auction/{itemNumber}/{parent} , so /Auction/12345/Lost

When they click the back button(or breadcrumb) would go back to the Lost page.

How would I set this up in the SiteMap config? Would I use dynamicParameters?

What I was thinking was using was variable and matching on that, then getting that from the SiteMap collection. What would be the best way

How do I access the entire SiteMap collection anyway?

Thanks

Nov 12, 2010 at 10:14 AM
Edited Nov 12, 2010 at 10:22 AM

As an update to this. I will be using a routing scheme like this:

/won/Auction/{auctionNr}

/lost/Auction/{auctionNr}

these are both using the same Controller("Auction") and action ("Detail")

How would I distinguish they two in my SiteMap. Using a URL or somewhat? What would that be. How is the match done?

See code snippet.

<!--Won-->
      <mvcSiteMapNode title="Won Bids"  controller="MyStuff" action="wonbids">
        <mvcSiteMapNode title="Won Item" controller="Auctions" action="Detail" />
      </mvcSiteMapNode>
      <!--Lost-->
      <mvcSiteMapNode title="Lost Items"   controller="MySTuff" action="lostbids">
        <mvcSiteMapNode title="Lost Item" controller="Auctions" action="Detail" >
        </mvcSiteMapNode>

Coordinator
Nov 12, 2010 at 2:29 PM

Unfortunately this is not supported. MvcSiteMapProvider has no idea of which node maps to the specified node. I will be implementing a "route" attribute where this will be possible. Untill then, this is not supported.

Coordinator
Nov 12, 2010 at 3:58 PM

The latest check in in the 3.0.0 branch should support this:

 

<!--Won-->
      <mvcSiteMapNode title="Won Bids"  controller="MyStuff" action="wonbids" route="WonRoute">
        <mvcSiteMapNode title="Won Item"  controller="Auctions" action="Detail" />
      </mvcSiteMapNode>
      <!--Lost-->
      <mvcSiteMapNode title="Lost Items"   controller="MySTuff" action="lostbids" route="LostRoute">
        <mvcSiteMapNode title="Lost Item" controller="Auctions" action="Detail" >
        </mvcSiteMapNode>