Sdílet prostřednictvím


MenuItemBindingCollection.IndexOf(MenuItemBinding) Metoda

Definice

Určuje index zadaného MenuItemBinding objektu v kolekci.

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

Parametry

value
MenuItemBinding

Chcete-li MenuItemBinding zjistit index.

Návraty

Nulový index prvního výskytu value v kolekci, pokud je nalezen, v opačném případě -1.

Příklady

Následující příklad kódu ukazuje, jak použít metodu IndexOf k určení indexu objektu MenuItemBinding v kolekci. Aby tento příklad fungoval správně, musíte zkopírovat níže uvedená ukázková data XML do souboru s názvem 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>

Následuje ukázka dat mapy webu pro předchozí příklad.

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

Poznámky

IndexOf Pomocí metody určete index zadaného MenuItemBinding objektu v kolekci.

Poznámka

Pořadí, ve kterém MenuItemBinding se objekty zobrazují v kolekci, nemá žádný vliv na to, jak jsou tyto objekty použity na položky nabídky v ovládacím Menu prvku.

Pokud vazba položky nabídky není v kolekci, vrátí metoda -1.

Poznámka

Pokud se zadaná vazba položky nabídky zobrazí v kolekci vícekrát, vrátí se index prvního výskytu.

Platí pro

Viz také