MenuItemBindingCollection.IndexOf(MenuItemBinding) Metodo

Definizione

Determina l'indice dell'oggetto MenuItemBinding specificato nell'insieme.

public:
 int IndexOf(System::Web::UI::WebControls::MenuItemBinding ^ value);
public int IndexOf (System.Web.UI.WebControls.MenuItemBinding value);
member this.IndexOf : System.Web.UI.WebControls.MenuItemBinding -> int
Public Function IndexOf (value As MenuItemBinding) As Integer

Parametri

value
MenuItemBinding

Oggetto MenuItemBinding di cui determinare l'indice.

Restituisce

Indice in base zero della prima occorrenza di value all'interno dell'insieme, se presente; in caso contrario, -1.

Esempio

Nell'esempio di codice seguente viene illustrato come usare il IndexOf metodo per determinare l'indice di un MenuItemBinding oggetto nell'insieme. Per il corretto funzionamento di questo esempio, è necessario copiare i dati XML di esempio seguenti in un file denominato Map.xml.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void Page_Load(Object sender, EventArgs e)
  {
    if(!IsPostBack)
    {
        // Use the indexer to retrieve the MenuItemBinding
        // object at index 2.
        MenuItemBinding binding = NavigationMenu.DataBindings[2];
      int index = NavigationMenu.DataBindings.IndexOf(binding);
      Message.Text = "The MenuItemBinding object that is applied " +
        "to the menu items at depth 2 is contained in the Bindings " + 
        "collection at index " + index.ToString() + ".";
    }
  }
      
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection IndexOf Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemBindingCollection IndexOf Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
                
      </asp:menu>
      
      <hr/>
      
      <asp:label id="Message" 
        runat="server"/>
      
      <asp:xmldatasource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

    </form>
  </body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
  
    If Not IsPostBack Then
    
      ' Use the indexer to retrieve the MenuItemBinding
      ' object at index 2.
      Dim binding As MenuItemBinding = NavigationMenu.DataBindings(2)

      Dim index As Integer = NavigationMenu.DataBindings.IndexOf(binding)
      Message.Text = "The MenuItemBinding object that is applied " & _
        "to the menu items at depth 2 is contained in the Bindings " & _
        "collection at index " & index.ToString() & "."
    
    End If
    
  End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection IndexOf Example</title>
</head>
<body>
    <form id="Form1" runat="server">
    
      <h3>MenuItemBindingCollection IndexOf Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
                
      </asp:menu>
      
      <hr/>
      
      <asp:label id="Message" 
        runat="server"/>
      
      <asp:xmldatasource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

    </form>
  </body>
</html>

Di seguito sono riportati i dati della mappa del sito di esempio per l'esempio precedente.

<MapHomeNode url="~\Home.aspx"

title="Home"

description="Home">

<MapNode url="~\Music.aspx"

title="Music"

description="Music">

<MapNode url="~\Classical.aspx"

title="Classical"

description="Classical"/>

<MapNode url="~\Rock.aspx"

title="Rock"

description="Rock"/>

<MapNode url="~\Jazz.aspx"

title="Jazz"

description="Jazz"/>

</MapNode>

<MapNode url="~\Movies.aspx"

title="Movies"

description="Movies">

<MapNode url="~\Action.aspx"

title="Action"

description="Action"/>

<MapNode url="~\Drama.aspx"

title="Drama"

description="Drama"/>

<MapNode url="~\Musical.aspx"

title="Musical"

description="Musical"/>

</MapNode>

</MapHomeNode>

Commenti

Utilizzare il IndexOf metodo per determinare l'indice dell'oggetto specificato MenuItemBinding nell'insieme.

Nota

L'ordine in cui gli oggetti vengono visualizzati nell'insieme non ha alcun effetto sul modo in cui MenuItemBinding tali oggetti vengono applicati alle voci di menu in un Menu controllo.

Se l'associazione della voce di menu non è presente nell'insieme, il metodo restituisce -1.

Nota

Se l'associazione di voci di menu specificata viene visualizzata più volte nella raccolta, viene restituito l'indice della prima occorrenza.

Si applica a

Vedi anche