SiteMapNodeItem Constructor (Int32, SiteMapNodeItemType)

 

Initializes a new instance of the SiteMapNodeItem class, using the specified index and SiteMapNodeItemType.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public SiteMapNodeItem(
	int itemIndex,
	SiteMapNodeItemType itemType
)

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);
    }
}

.NET Framework
Available since 2.0
Return to top
Show: