MenuItemBindingCollection.IndexOf(MenuItemBinding) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет индекс указанного объекта MenuItemBinding в коллекции.
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
Параметры
- value
- MenuItemBinding
Связь MenuItemBinding, для которой определяется индекс.
Возвращаемое значение
Индекс (отсчет с нуля) первого вхождения параметра value
, если он найден в коллекции. В противном случае — значение -1.
Примеры
В следующем примере кода показано, как использовать IndexOf метод для определения индекса MenuItemBinding объекта в коллекции. Чтобы этот пример работал правильно, необходимо скопировать приведенный ниже пример XML-данных в файл с именем 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>
Ниже приведен пример данных карты сайта для предыдущего примера.
<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>
Комментарии
Используйте метод , IndexOf чтобы определить индекс указанного MenuItemBinding объекта в коллекции.
Примечание
Порядок, в котором MenuItemBinding объекты отображаются в коллекции, не влияет на то, как эти объекты применяются к элементам меню в элементе Menu управления .
Если привязка элемента меню отсутствует в коллекции, метод возвращает значение -1.
Примечание
Если указанная привязка элемента меню появляется в коллекции несколько раз, возвращается индекс первого вхождения.