<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx" -->

---
title: New CodePlex project: MvcSiteMap – ASP.NET MVC sitemap...
description: A new open-source project called MvcSiteMap, hosted on CodePlex, brings sitemap and breadcrumb functionality to the ASP.NET MVC framework. Built by Maarten...
canonical: https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: New CodePlex project: MvcSiteMap – ASP.NET MVC sitemap provider | daily.dev
og:description: A new open-source project called MvcSiteMap, hosted on CodePlex, brings sitemap and breadcrumb functionality to the ASP.NET MVC framework. Built by Maarten...
og:url: https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx
og:image: https://api.daily.dev/og/posts/Mk1L3EHVX.png
og:image:alt: New CodePlex project: MvcSiteMap – ASP.NET MVC sitemap provider
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# New CodePlex project: MvcSiteMap – ASP.NET MVC sitemap provider

**[Maarten Balliauw](https://daily.dev/sources/maartenballiauw)** · 4 min read · 0 upvotes · 0 comments

## Summary

A new open-source project called MvcSiteMap, hosted on CodePlex, brings sitemap and breadcrumb functionality to the ASP.NET MVC framework. Built by Maarten Balliauw and Patrice Calve as a follow-up to an earlier proof-of-concept blog post, it lets developers define sitemap nodes in a Web.sitemap XML file or via an MvcSiteMapNode attribute on controller action methods, supports dynamic parameters so a single node can match many URLs, and integrates with the classic ASP.NET SiteMapPath control for breadcrumbs. Configuration involves registering the provider in Web.config with options like security trimming and cache duration. Source code and a demo site are available on the project's CodePlex page.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.maartenballiauw.be/posts/2009-03-24-new-codeplex-project-mvcsitemap-ndash3b-aspnet-mvc-sitemap-provider>

## Questions this post answers

### How do I add sitemap and breadcrumb navigation to an ASP.NET MVC application?

Use the MvcSiteMap provider, an open-source sitemap provider for ASP.NET MVC. Register it in Web.config under the siteMap section pointing to a Web.sitemap XML file, then use the standard asp:SiteMapPath control on a master page to render breadcrumbs automatically based on the defined nodes.

_daily.dev surfaces practical ASP.NET MVC navigation patterns like this for developers wiring up breadcrumbs._

### How can I make one sitemap node match many dynamic URLs like /Products/Details/1234?

Set isDynamic="true" and dynamicParameters="id" on a single mvcSiteMapNode entry. This makes that one node apply to any URL matching the controller and action with varying parameter values, such as /Products/Details/1234, /5678, or /9012, without needing separate nodes for each.

_developers wrestling with dynamic routing and breadcrumbs can find more MVC tips on daily.dev._

### Can I define ASP.NET MVC sitemap nodes directly on a controller action instead of in XML?

Yes, by applying the MvcSiteMapNode attribute directly to an action method, specifying properties like ParentKey, Title, IsDynamic, and DynamicParameters. The sitemap provider then adds a child node under the given parent key, determining controller and action automatically from where the attribute is declared.

_daily.dev helps developers comparing XML-based versus attribute-based sitemap configuration in MVC._

---

Tags: [#c#](https://daily.dev/tags/c#)

[View this post on daily.dev](https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"New CodePlex project: MvcSiteMap – ASP.NET MVC sitemap provider","url":"https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx"},"datePublished":"2026-10-04T13:05:46.667Z","dateModified":"2026-10-04T13:13:48.886Z","description":"A new open-source project called MvcSiteMap, hosted on CodePlex, brings sitemap and breadcrumb functionality to the ASP.NET MVC framework. Built by Maarten...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1aa54f56e09bb91efae13e4eba8a8bc4?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1aa54f56e09bb91efae13e4eba8a8bc4?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Maarten Balliauw","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Maarten Balliauw","logo":"https://media.daily.dev/image/upload/s--rOTg3VYO--/f_auto,q_auto/v1791119043/logos/maartenballiauw?_a=BAMAMicg0","url":"https://daily.dev/sources/maartenballiauw"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"c#","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Maarten Balliauw","item":"https://daily.dev/sources/maartenballiauw"},{"@type":"ListItem","position":3,"name":"New CodePlex project: MvcSiteMap – ASP.NET MVC sitemap provider"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/new-codeplex-project-mvcsitemap-asp-net-mvc-sitemap-provider-mk1l3ehvx#faq","mainEntity":[{"@type":"Question","name":"How do I add sitemap and breadcrumb navigation to an ASP.NET MVC application?","acceptedAnswer":{"@type":"Answer","text":"Use the MvcSiteMap provider, an open-source sitemap provider for ASP.NET MVC. Register it in Web.config under the siteMap section pointing to a Web.sitemap XML file, then use the standard asp:SiteMapPath control on a master page to render breadcrumbs automatically based on the defined nodes. daily.dev surfaces practical ASP.NET MVC navigation patterns like this for developers wiring up breadcrumbs."}},{"@type":"Question","name":"How can I make one sitemap node match many dynamic URLs like /Products/Details/1234?","acceptedAnswer":{"@type":"Answer","text":"Set isDynamic=\"true\" and dynamicParameters=\"id\" on a single mvcSiteMapNode entry. This makes that one node apply to any URL matching the controller and action with varying parameter values, such as /Products/Details/1234, /5678, or /9012, without needing separate nodes for each. developers wrestling with dynamic routing and breadcrumbs can find more MVC tips on daily.dev."}},{"@type":"Question","name":"Can I define ASP.NET MVC sitemap nodes directly on a controller action instead of in XML?","acceptedAnswer":{"@type":"Answer","text":"Yes, by applying the MvcSiteMapNode attribute directly to an action method, specifying properties like ParentKey, Title, IsDynamic, and DynamicParameters. The sitemap provider then adds a child node under the given parent key, determining controller and action automatically from where the attribute is declared. daily.dev helps developers comparing XML-based versus attribute-based sitemap configuration in MVC."}}]}
```

