SiteMapNodeItemType Enumeration
Assembly: System.Web (in system.web.dll)
| Member name | Description | |
|---|---|---|
| Current | The currently viewed page in the site navigation path. | |
| Parent | A parent node of the currently viewed page in the site navigation path. A parent node is any node that is found between the root node and the current node in the navigation hierarchy. | |
| PathSeparator | A site map navigation path separator. The default separator for the SiteMapPath control is the ">" character. | |
| Root | The top node of the site navigation hierarchy. There can be only one root node. |
The SiteMapPath control manages its site navigation information as a collection of SiteMapNodeItem objects. SiteMapNodeItem objects represent functionally different types of SiteMapNode nodes. Accordingly, they are managed by the SiteMapPath control. The following list describes the types of nodes available:
-
One node that represent the currently viewed page.
-
One node that is the top node of the site navigation hierarchy.
-
Zero or more nodes between the top node and the current node (parent nodes).
-
Zero or more nodes that represent site navigation path separators.
Each node is data-bound to an underlying SiteMapNode, except nodes of the PathSeparator type.
The following code example demonstrates how to call the OnItemCreated method after creating a SiteMapNodeItem within the InitializeItem method. This code example is part of a larger code example provided for the SiteMapPath class.
private void AddDropDownListAfterCurrentNode(SiteMapNodeItem item)
{
SiteMapNodeCollection childNodes = item.get_SiteMapNode().
get_ChildNodes();
// Only do this work if there are child nodes.
if (childNodes != null) {
// Add another PathSeparator after the CurrentNode.
SiteMapNodeItem finalSeparator = new SiteMapNodeItem(item.
get_ItemIndex(), SiteMapNodeItemType.PathSeparator);
SiteMapNodeItemEventArgs eventArgs = new SiteMapNodeItemEventArgs(
finalSeparator);
InitializeItem(finalSeparator);
// Call OnItemCreated every time a SiteMapNodeItem is
// created and initialized.
OnItemCreated(eventArgs);
// The pathSeparator does not bind to any SiteMapNode, so
// do not call DataBind on the SiteMapNodeItem.
item.get_Controls().Add(finalSeparator);
// Create a DropDownList and populate it with the children of the
// CurrentNode. There are no styles or templates that are applied
// to the DropDownList control. If OnSelectedIndexChanged is raised,
// the event handler redirects to the page selected.
// The CurrentNode has child nodes.
DropDownList ddList = new DropDownList();
ddList.set_AutoPostBack(true);
ddList.add_SelectedIndexChanged(new EventHandler(this.
DropDownNavPathEventHandler));
// Add a ListItem to the DropDownList for every node in the
// SiteMapNodes collection.
for (int iCtr = 0; iCtr < childNodes.get_Count(); iCtr++) {
SiteMapNode node = (SiteMapNode)childNodes.get_Item(iCtr);
ddList.get_Items().Add(new ListItem(node.get_Title(), node.
get_Url()));
}
item.get_Controls().Add(ddList);
}
} //AddDropDownListAfterCurrentNode