MenuItemBindingCollection.IndexOf(MenuItemBinding) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Determines the index of the specified MenuItemBinding object in the collection.
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
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.
<%@ 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>
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.
Note
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.
Note
If the specified menu item binding appears multiple times in the collection, the index of the first occurrence is returned.