Click here to Skip to main content
13,398,338 members (38,348 online)
Click here to Skip to main content
Add your own
alternative version


24 bookmarked
Posted 15 Feb 2004

Microsoft Content Management Server Site Map control

, 17 May 2006
Rate this:
Please Sign up or sign in to vote.
Display the CMS channel structure in a hierarchical tree that is expandable and collapsible.

Sample Image - sample.gif


For use in Microsoft Content Management Server, this Site Map web control displays channel structure in a hierarchical tree that is expandable and collapsible when viewed in a IE4+ or NS6+ browsers. When viewed in NS4, the tree is fully expanded. The starting channel is configurable so you can have multiple instances of the control in one page, rendering different portions of a site if so desired.

A C# version of this control is available here.


The web control has several public properties:

  • StartChannelPath - Optional. Starting channel path. Default is "/channels/".
  • ImagePath - Optional. IIS path to the three icons. Default is "/<MCMS Site Application Name>/images/".
  • JavascriptPath - Mandatory. IIS path to the JavaScript file SiteMap.js. E.g.: "/<MCMS Site Application Name>/Includes/".
  • ExpandMap - Optional. Fully expand the channel and posting tree on first load. Valid values are True and False. Default is True.
  • SortChildrenBy - Optional. Display order of channels and postings in tree. Valid values are "Display Name", "Name", and "Ordinal". Default is no sorting.
  • ShowPostings - Optional. Display postings in tree. Valid values are True and False. Default is False.
  • DefaultPostingName - Optional. When ShowPostings is True and there is default posting for channel, specify default posting name to hide default postings from the tree. For example, "default".
  • ShowDescription - Optional. Show channel and posting description in hyperlink tooltips. Valid values are True and False. Default is True.
  • MaxLevels - Optional. Show the specified number of channel levels only. Default is "0" which shows all channel levels.

Installation instructions

  1. Copy SiteMap.vb to the web control directory of your MCMS site.
  2. In your sitemap template, register the control, include SiteMap.css, and insert the control. For example:
    <%@ Register TagPrefix="wc1" 
      Assembly="WebControl Library Assembly Name" %>
    <link rel="stylesheet" 
      href="/<MCMS Site Application Name>/style/SiteMap.css" media="all">
    <wc1:SiteMap id="SiteMap" runat="server" StartChannelPath="" 
      JavascriptPath="/<MCMS Site Application Name>/Includes/" 
      ExpandMap="" SortChildrenBy="Display Name" 
      ShowPostings="True" DefaultPostingName="default"
      ShowDescription="" MaxLevels="0">

    If your like the Expand All and Collapse All links as shown in the above picture, add links to the template like:

    <a href="#" onclick="actionLayer(true);return false">Expand All</a>
    <a href="#" onclick="actionLayer(false);return false">Collapse All</a>

    Note the media="all" attribute in the stylesheet reference. It prevents NS4 from reading it, as SiteMap.css is not compatible with NS4. If you don't care for NS4, you can also copy the content of SiteMap.css and add it into your site stylesheet.

    Please check if there are any conflicts between your site stylesheet and SiteMap.css. For example, the sample site WoodgroveNetVB messes up the rendering quite badly.

  3. Copy channel.gif, channelopen.gif, and channelclosed.gif into the image directory as specified in the property ImagePath.
  4. Copy SiteMap.js into the directory as specified in the property JavascriptPath.
  5. Rebuild the solution in VS.NET.


  • V1.0 - 2004.02.15 - Base.
  • V1.1 - 2005.02.12 - Added an option to limit the channel depth.
  • V1.2 - 2006.05.15 - Added an option to show the postings in the tree. Added an ASP.NET 2.0 version.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Stephen Huen
Software Developer (Senior)
Canada Canada
A Microsoft Certified Professional Developer and Technology Specialist.

Experience and expertise in SharePoint 2016 / 2013 / 2010 / 2007.

Role ranges from a developer in a multi-person team to a solution consultant with expert-level skills, leading a project to completion status.

Proven experience working effectively in a team environment and a self-managed environment.

You may also be interested in...


Comments and Discussions

Generaldll Pin
rinali19-May-08 1:23
memberrinali19-May-08 1:23 
GeneralNeed Urgent Help Pin
Member 424222712-Mar-08 19:15
memberMember 424222712-Mar-08 19:15 
Questionhi ....confused with steps given.. Pin
Triplek18-Oct-07 23:30
memberTriplek18-Oct-07 23:30 
GeneralLocation of web controls Pin
r_samah23-Aug-07 0:07
memberr_samah23-Aug-07 0:07 
QuestionHow to add postings ? Pin
c borkowski25-May-05 10:50
memberc borkowski25-May-05 10:50 
AnswerRe: How to add postings ? Pin
Stephen Huen25-May-05 11:10
memberStephen Huen25-May-05 11:10 
GeneralRe: How to add postings ? Pin
c borkowski25-May-05 11:12
memberc borkowski25-May-05 11:12 
GeneralI don't have file dll to run it. Pin
nminhkha30-Jan-05 17:16
membernminhkha30-Jan-05 17:16 
GeneralPerformance Problem Pin
alexcohen17-Feb-04 2:01
memberalexcohen17-Feb-04 2:01 
GeneralRe: Performance Problem Pin
Anonymous27-Sep-04 10:42
sussAnonymous27-Sep-04 10:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.180216.1 | Last Updated 17 May 2006
Article Copyright 2004 by Stephen Huen
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid