Great ASP.NET 2.0 Site Navigation Tutorial Series
Scott Mitchell has written a really great tutorial series on the new ASP.NET 2.0 Site Navigation system and features.
He recently published Part 3 of the series, which discusses the "SecurityTrimming" feature new to ASP.NET 2.0 that allows you to automatically show/hide nodes within the site navigation hierarchy based on the current Authentication and Role status of an incoming user (for example: you could hide portions of a menu automatically if the current user isn't in an "Admin" role).
Part 4 of the series talks about building a custom site map provider. In case you missed my post from last-month, you might also want to check out Jeff Prosise's cool new SQL Site Map Provider for ASP.NET 2.0 that he built and wrote about (and provided all the source code for you to play with and tweak). This allows you to store all of your site navigation structure in a database instead of XML files, and uses the new ASP.NET SqlCacheDependency feature to cache in the middle-tier but immediately invalidate when the database changes.
Below is a quick description + link to each part of the Scott Michell's Site Navigation series:
- Part 1 - shows how to create a simple site map using the default XML-based site map provider and how to display a TreeView and SiteMapPath (breadcrumb).
- Part 2 - explores programmatically accessing site map data through the
SiteMap
class; includes a thorough discussion of the SiteMapPath (breadcrumb) control. - Part 3 - examines how to use base the site map's contents on the currently logged in user and the authorization rules defined for the pages in the site map.
- Part 4 - delves into creating a custom site map provider, specifically one that bases the site map on the website's physical, file system structure.
In case you missed it, I also blogged this tutorial last month that shows creating a master-page + site navigation structure and then using a DataList control to databind to the site-navigation system and use pure CSS to stylize the resulting menu site.
I also blogged in December a little about the Control Adapter Architecture in ASP.NET, and how we were planning to build some CSS adapters for the <asp:menu> and <asp:treeview> controls to provide the option to emit unordered lists (<ul><li></ul>) in place of tables for rendering output (something a lot of people have asked for). We actually have someone working on this now and are planning to ship this as a web download (including source) in the near future.
Net Summary: If you haven't checked out the Site Navigation features yet in ASP.NET 2.0 -- you should! :-)
Hope this helps,
Scott