SiteMapNodeItem Constructor (Int32, SiteMapNodeItemType)
Initializes a new instance of the SiteMapNodeItem class, using the specified index and SiteMapNodeItemType.
Assembly: System.Web (in System.Web.dll)
Parameters
- itemIndex
-
Type:
System.Int32
The index in the Controls collection that the SiteMapPath control uses to track the SiteMapNodeItem object.
- itemType
-
Type:
System.Web.UI.WebControls.SiteMapNodeItemType
The functional type of SiteMapNode that this SiteMapNodeItem represents.
If the PathDirection is RootToCurrent, you can add each deeper-level item of the site navigation hierarchy at the end of the Controls collection. However, if the PathDirection property is set to CurrentToRoot, each deeper-level node must be inserted at the beginning of the Controls collection.
The following code example demonstrates how to create a SiteMapNodeItem object. This code example is part of a larger example provided for the SiteMapPath class.
private void AddDropDownListAfterCurrentNode(SiteMapNodeItem item) { SiteMapNodeCollection childNodes = item.SiteMapNode.ChildNodes; // Only do this work if there are child nodes. if (childNodes != null) { // Add another PathSeparator after the CurrentNode. SiteMapNodeItem finalSeparator = new SiteMapNodeItem(item.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.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.AutoPostBack = true; ddList.SelectedIndexChanged += new EventHandler(this.DropDownNavPathEventHandler); // Add a ListItem to the DropDownList for every node in the // SiteMapNodes collection. foreach (SiteMapNode node in childNodes) { ddList.Items.Add(new ListItem(node.Title, node.Url)); } item.Controls.Add(ddList); } }
Available since 2.0