MenuItemCollection.IndexOf(MenuItem) 方法

定義

判斷集合中指定之 MenuItem 物件的索引。

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

參數

value
MenuItem

要尋找的 MenuItem

傳回

Int32

如果有找到,則是在目前 MenuItemCollection 內,value 第一次出現之以零起始的索引,否則為 -1。

範例

下列程式碼範例示範如何使用 IndexOf 方法來判斷 物件內的 MenuItemCollection 物件索引 MenuItem


<%@ 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 NavigationMenu_MenuItemClick(Object sender, MenuEventArgs e)
  {

    // Retrieve the parent menu item of the selected menu item.
    MenuItem parent = e.Item.Parent;

    // Determine whether the selected menu item is a 
    // root menu item. Root menu items are stored in
    // a Menu control's Items collection. Other menu
    // items are stored in the parent menu item's
    // ChildItems collection.
    if (parent != null)
    {
      Message.Text = "The " + e.Item.Text + 
        " menu item has an index of " +
        parent.ChildItems.IndexOf(e.Item).ToString() +
        " in the parent menu item's ChildItems collection.";
    }
    else
    {
      Message.Text = "The " + e.Item.Text +
        " menu item has an index of " +
        NavigationMenu.Items.IndexOf(e.Item).ToString() +
        " in the Menu control's Items collection.";
    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection IndexOf Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection IndexOf Example</h3>
    
      Select an item from the menu.
      <br/><br/>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank"
        onmenuitemclick="NavigationMenu_MenuItemClick"  
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>
      
      <hr/>
      
      <asp:label id="Message" 
        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 NavigationMenu_MenuItemClick(ByVal sender As Object, ByVal e As MenuEventArgs)

    ' Retrieve the parent menu item of the selected menu item.
    Dim parent As MenuItem = e.Item.Parent

    ' Determine whether the selected menu item is a 
    ' root menu item. Root menu items are stored in
    ' a Menu control's Items collection. Other menu
    ' items are stored in the parent menu item's
    ' ChildItems collection.
    If parent IsNot Nothing Then
    
      Message.Text = "The " & e.Item.Text & _
        " menu item has an index of " & _
        parent.ChildItems.IndexOf(e.Item).ToString() & _
        " in the parent menu item's ChildItems collection."
    
    Else
    
      Message.Text = "The " & e.Item.Text & _
        " menu item has an index of " & _
        NavigationMenu.Items.IndexOf(e.Item).ToString() & _
        " in the Menu control's Items collection."
    
    End If

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection IndexOf Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection IndexOf Example</h3>
    
      Select an item from the menu.
      <br/><br/>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank"
        onmenuitemclick="NavigationMenu_MenuItemClick"  
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>
      
      <hr/>
      
      <asp:label id="Message" 
        runat="server"/>
        
    </form>
  </body>
</html>

備註

IndexOf使用 方法來判斷目前 MenuItemCollection 物件中指定 MenuItem 物件的索引。 如果功能表項目不在集合中,方法會傳回 -1。

注意

如果集合中多次出現指定的功能表項目,則會傳回第一次出現的索引。

適用於

另請參閱