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
в текущей коллекции MenuItemCollection, если он там обнаружен. В противном случае — значение -1.
Примеры
В следующем примере кода показано, как использовать IndexOf метод для определения индекса MenuItem объекта в объекте MenuItemCollection .
<%@ 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 Используйте метод для определения индекса указанного MenuItem объекта в текущем MenuItemCollection объекте. Если элемент меню отсутствует в коллекции, метод возвращает -1.
Примечание
Если указанный пункт меню появляется несколько раз в коллекции, возвращается индекс первого вхождения.