SiteMapNodeCollection.IndexOf(SiteMapNode) Methode

Definition

Sucht nach dem angegebenen SiteMapNode Objekt und gibt dann den nullbasierten Index des ersten Vorkommens innerhalb der gesamten Auflistung zurück.

public:
 virtual int IndexOf(System::Web::SiteMapNode ^ value);
public virtual int IndexOf(System.Web.SiteMapNode value);
abstract member IndexOf : System.Web.SiteMapNode -> int
override this.IndexOf : System.Web.SiteMapNode -> int
Public Overridable Function IndexOf (value As SiteMapNode) As Integer

Parameter

value
SiteMapNode

Der SiteMapNode zu findende In der SiteMapNodeCollection.

Gibt zurück

Der nullbasierte Index des ersten Vorkommens innerhalb des value gesamten SiteMapNodeCollection, falls gefunden; andernfalls -1.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Contains Klassen und IndexOf Methoden SiteMapNodeCollection verwendet werden. Der Code überprüft zwei Anbieter AspNetXmlSiteMapProvider und MyXmlSiteMapProviderauf untergeordnete Knoten des Stammknotens, die Duplikate sind.

String providername1 = "AspNetXmlSiteMapProvider";
String providername2 = "MyXmlSiteMapProvider";
SiteMapProviderCollection providers = SiteMap.Providers;

if (providers[providername1] != null && providers[providername2] != null)
{
  SiteMapProvider provider1 = providers[providername1];
  SiteMapProvider provider2 = providers[providername2];
  SiteMapNodeCollection collection1 = provider1.RootNode.ChildNodes;
  SiteMapNodeCollection collection2 = provider2.RootNode.ChildNodes;
  int matches = 0;
  foreach (SiteMapNode node in collection1)
  {
    if (collection2.Contains(node))
    {
      Response.Write("Match found at " +
        providername1 + ", index = " +
        collection1.IndexOf(node) + " with " +
        providername2 + ", index = " +
        collection2.IndexOf(node) + ".<br />");
      matches++;
    }
  }
  Response.Write("Number of matches found = " +
    matches.ToString() + ".");
}
else
{
  Response.Write(providername1 + " or " +
    providername2 + " not found.");
}
Dim providername1 As String = "xAspNetXmlSiteMapProvider"
Dim providername2 As String = "MyXmlSiteMapProvider"
Dim providers As SiteMapProviderCollection = SiteMap.Providers

If Not (providers(providername1) Is Nothing) AndAlso Not (providers(providername2) Is Nothing) Then
  Dim provider1 As SiteMapProvider = providers(providername1)
  Dim provider2 As SiteMapProvider = providers(providername2)
  Dim collection1 As SiteMapNodeCollection = provider1.RootNode.ChildNodes
  Dim collection2 As SiteMapNodeCollection = provider2.RootNode.ChildNodes
  Dim matches As Integer = 0
  Dim node As SiteMapNode
  For Each node In collection1
    If collection2.Contains(node) Then
      Response.Write("Match found at " & _
      providername1 & ", index = " & _
      collection1.IndexOf(node) & " with " & _
      providername2 & ", index = " & _
      collection2.IndexOf(node) & ".<br />")
      matches += 1
    End If
  Next node
  Response.Write("Number of matches found = " & _
  matches.ToString() + ".")
Else
  Response.Write(providername1 & " or " & _
  providername2 & " not found.")
End If    

Hinweise

Die IndexOf Methode bestimmt die Gleichheit durch Aufrufen der Object.Equals Methode.

Gilt für: