MenuItemBindingCollection.IndexOf(MenuItemBinding) Method

Definition

Determines the index of the specified MenuItemBinding object in the collection.

C#
public int IndexOf(System.Web.UI.WebControls.MenuItemBinding value);

Parameters

value
MenuItemBinding

The MenuItemBinding to determine the index of.

Returns

The zero-based index of the first occurrence of value within the collection, if found; otherwise, -1.

Examples

The following code example demonstrates how to use the IndexOf method to determine the index of a MenuItemBinding object in the collection. For this example to work correctly, you must copy the sample XML data below to a file named Map.xml.

ASP.NET (C#)

<%@ 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>

The following is sample site map data for the previous example.

<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>

Remarks

Use the IndexOf method to determine the index of the specified MenuItemBinding object in the collection.

Poznámka

The order in which MenuItemBinding objects appear in the collection has no effect on how those objects are applied to the menu items in a Menu control.

If the menu item binding is not in the collection, the method returns -1.

Poznámka

If the specified menu item binding appears multiple times in the collection, the index of the first occurrence is returned.

Applies to

Produkt Verzie
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

See also