SiteMapNodeCollection 构造函数

定义

初始化 SiteMapNodeCollection 类的新实例。

重载

SiteMapNodeCollection()

初始化 SiteMapNodeCollection 类的新实例,也是默认实例。

SiteMapNodeCollection(Int32)

使用指定的初始容量初始化 SiteMapNodeCollection 类的新实例。

SiteMapNodeCollection(SiteMapNode)

SiteMapNodeCollection 类的新实例进行初始化,然后将 SiteMapNode 对象添加到该集合的 InnerList 属性中。

SiteMapNodeCollection(SiteMapNode[])

SiteMapNodeCollection 类的新实例进行初始化,然后将类型 SiteMapNode 的数组添加到该集合的 InnerList 属性中。

SiteMapNodeCollection(SiteMapNodeCollection)

SiteMapNodeCollection 类的新实例进行初始化,然后将指定的 SiteMapNodeCollection 集合的所有列表项添加到该集合的 InnerList 属性中。

SiteMapNodeCollection()

初始化 SiteMapNodeCollection 类的新实例,也是默认实例。

public:
 SiteMapNodeCollection();
public SiteMapNodeCollection ();
Public Sub New ()

示例

下面的代码示例演示如何使用 SiteMapNodeCollection 构造函数创建新 SiteMapNodeCollection 集合,然后使用该方法将元素添加到 SiteMapNodeCollection 其中 Add

// The LoadSiteMapData() method loads site navigation
// data from persistent storage into a DataTable.
DataTable siteMap = LoadSiteMapData();

// Create a SiteMapNodeCollection.
SiteMapNodeCollection nodes = new SiteMapNodeCollection();

// Create a SiteMapNode and add it to the collection.
SiteMapNode tempNode;
DataRow row;
int index = 0;

while (index < siteMap.Rows.Count)
{

    row = siteMap.Rows[index];

    // Create a node based on the data in the DataRow.
    tempNode = new SiteMapNode(SiteMap.Provider,
                                row["Key"].ToString(),
                                row["Url"].ToString());

    // Add the node to the collection.
    nodes.Add(tempNode);
    ++index;
}
' The LoadSiteMapData() Function loads site navigation
' data from persistent storage into a DataTable.

Dim siteMapData As DataTable
siteMapData = LoadSiteMapData()

' Create a SiteMapNodeCollection.
Dim nodes As New SiteMapNodeCollection()

' Create a SiteMapNode and add it to the collection.
Dim tempNode As SiteMapNode
Dim row As DataRow
Dim index As Integer
index = 0

While (index < siteMapData.Rows.Count)

    row = siteMapData.Rows(index)

    ' Create a node based on the data in the DataRow.
    tempNode = New SiteMapNode(SiteMap.Provider, row("Key").ToString(), row("Url").ToString())

    ' Add the node to the collection.
    nodes.Add(tempNode)
    index = index + 1
End While

注解

使用 SiteMapNodeCollection 构造函数创建空 SiteMapNodeCollection 集合。 You can add elements to the SiteMapNodeCollection using the Add, AddRange, or Insert method.

另请参阅

适用于

SiteMapNodeCollection(Int32)

使用指定的初始容量初始化 SiteMapNodeCollection 类的新实例。

public:
 SiteMapNodeCollection(int capacity);
public SiteMapNodeCollection (int capacity);
new System.Web.SiteMapNodeCollection : int -> System.Web.SiteMapNodeCollection
Public Sub New (capacity As Integer)

参数

capacity
Int32

SiteMapNodeCollection 的初始容量。

注解

使用 SiteMapNodeCollection 构造函数创建 SiteMapNodeCollection 具有指定初始容量的集合。

另请参阅

适用于

SiteMapNodeCollection(SiteMapNode)

SiteMapNodeCollection 类的新实例进行初始化,然后将 SiteMapNode 对象添加到该集合的 InnerList 属性中。

public:
 SiteMapNodeCollection(System::Web::SiteMapNode ^ value);
public SiteMapNodeCollection (System.Web.SiteMapNode value);
new System.Web.SiteMapNodeCollection : System.Web.SiteMapNode -> System.Web.SiteMapNodeCollection
Public Sub New (value As SiteMapNode)

参数

value
SiteMapNode

要添加到 SiteMapNodeCollection 中的 SiteMapNode

例外

valuenull

示例

下面的代码示例演示如何使用单个初始SiteMapNode对象创建SiteMapNodeCollection集合,然后使用该方法向其AddRange添加一个SiteMapNodeCollectionSiteMapNode对象。 即使单个SiteMapNode对象可能为只读,也可以修改该SiteMapNodeCollection对象。


// Create a SiteMapNodeCollection with all the nodes
// from the first two hierarchical levels of the current
// site map.
SiteMapNodeCollection baseCollection =
    new SiteMapNodeCollection(SiteMap.RootNode);

SiteMapNodeCollection childCollection =
    SiteMap.RootNode.ChildNodes;

baseCollection.AddRange(childCollection);

Response.Write( "<BR>Derived SiteMapNodeCollection.<BR><HR><BR>");
foreach (SiteMapNode node in baseCollection) {
    Response.Write( node.Title + "<BR>");
}

' Create a SiteMapNodeCollection with all the nodes
' from the first two hierarchical levels of the current
' site map.
Dim baseCollection As SiteMapNodeCollection
baseCollection = New SiteMapNodeCollection(SiteMap.RootNode)

Dim childCollection As SiteMapNodeCollection = SiteMap.RootNode.ChildNodes

baseCollection.AddRange(childCollection)

Response.Write( "<BR>Derived SiteMapNodeCollection.<BR><HR><BR>")

For Each node In baseCollection
    Response.Write( node.Title + "<BR>")
Next

注解

使用 SiteMapNodeCollection 构造函数创建 SiteMapNodeCollection 具有单个初始 SiteMapNode 对象的集合。 You can add elements to the SiteMapNodeCollection using the Add, AddRange, or Insert method.

另请参阅

适用于

SiteMapNodeCollection(SiteMapNode[])

SiteMapNodeCollection 类的新实例进行初始化,然后将类型 SiteMapNode 的数组添加到该集合的 InnerList 属性中。

public:
 SiteMapNodeCollection(cli::array <System::Web::SiteMapNode ^> ^ value);
public SiteMapNodeCollection (System.Web.SiteMapNode[] value);
new System.Web.SiteMapNodeCollection : System.Web.SiteMapNode[] -> System.Web.SiteMapNodeCollection
Public Sub New (value As SiteMapNode())

参数

value
SiteMapNode[]

要添加到 SiteMapNodeSiteMapNodeCollection 类型的数组。

例外

valuenull

注解

SiteMapNodeCollection使用构造函数等效于使用该方法调用SiteMapNodeCollection构造函数并将元素添加到SiteMapNodeCollection集合AddRange中。

另请参阅

适用于

SiteMapNodeCollection(SiteMapNodeCollection)

SiteMapNodeCollection 类的新实例进行初始化,然后将指定的 SiteMapNodeCollection 集合的所有列表项添加到该集合的 InnerList 属性中。

public:
 SiteMapNodeCollection(System::Web::SiteMapNodeCollection ^ value);
public SiteMapNodeCollection (System.Web.SiteMapNodeCollection value);
new System.Web.SiteMapNodeCollection : System.Web.SiteMapNodeCollection -> System.Web.SiteMapNodeCollection
Public Sub New (value As SiteMapNodeCollection)

参数

value
SiteMapNodeCollection

SiteMapNodeCollection 包含的 SiteMapNode 要添加到当前的 SiteMapNodeCollection 中。

例外

valuenull

示例

下面的代码示例演示如何使用另一个SiteMapNodeCollectionSiteMapNode对象作为基对象SiteMapNodeCollection创建集合。 此方法SiteMapNode.GetAllNodes返回一个只读SiteMapNodeCollection值,在属性返回trueIsReadOnly检测到该属性。 使用只读SiteMapNodeCollection创建一个新项SiteMapNodeCollectionAdd可以成功调用和Remove方法。

SiteMapNodeCollection siteNodes = SiteMap.RootNode.GetAllNodes();

if ( siteNodes.IsReadOnly ||
     siteNodes.IsFixedSize )
{
    Response.Write("Collection is read-only or has fixed size.<BR>");

    // Create a new, modifiable collection from the existing one.
    SiteMapNodeCollection modifiableCollection =
         new SiteMapNodeCollection(siteNodes);

    // The MoveNode example method moves a node from position one to
    // the last position in the collection.
    MoveNode(modifiableCollection);
}
else {
    MoveNode(siteNodes);
}

Dim siteNodes As SiteMapNodeCollection
siteNodes = SiteMap.RootNode.GetAllNodes()

If siteNodes.IsReadOnly Or siteNodes.IsFixedSize Then

    Response.Write("Collection is read-only or has fixed size.<BR>")

    ' Create a new, modifiable collection from the existing one.
    Dim modifiableCollection As SiteMapNodeCollection
    modifiableCollection = New SiteMapNodeCollection(siteNodes)

    ' The MoveNode example method moves a node from position one to
    ' the last position in the collection.
    MoveNode(modifiableCollection)
Else
    MoveNode(siteNodes)
End If

注解

SiteMapNodeCollection使用构造函数等效于使用该方法调用SiteMapNodeCollection构造函数并将元素添加到SiteMapNodeCollection集合AddRange中。

适用于