MenuItemBindingCollection.CopyTo(MenuItemBinding[], Int32) 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.
Copies all the items from the MenuItemBindingCollection object to a compatible one-dimensional array of MenuItemBinding objects, starting at the specified index in the target array.
public:
void CopyTo(cli::array <System::Web::UI::WebControls::MenuItemBinding ^> ^ array, int index);
public void CopyTo (System.Web.UI.WebControls.MenuItemBinding[] array, int index);
override this.CopyTo : System.Web.UI.WebControls.MenuItemBinding[] * int -> unit
Public Sub CopyTo (array As MenuItemBinding(), index As Integer)
Parameters
- array
- MenuItemBinding[]
A zero-based array of MenuItemBinding objects that receives the copied items from the collection.
- index
- Int32
The position in the target array at which to start receiving the copied content.
Examples
The following code example demonstrates how to use the CopyTo method to copy the MenuItemBinding objects from the collection to an array. The array is then iterated through to display the properties of the MenuItemBinding objects. 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)
{
// Declare an array of MenuItemBinding objects.
MenuItemBinding[] bindingArray = new MenuItemBinding[NavigationMenu.DataBindings.Count];
// Use the CopyTo method to copy the MenuItemBinding objects
// from the collection into the array.
NavigationMenu.DataBindings.CopyTo(bindingArray, 0);
// Display the properties of the MenuItemBinding objects
// in the Bindings collection.
Message.Text = "The properties of the MenuItemBinding objects are: <br/><br/>";
foreach (MenuItemBinding binding in bindingArray)
{
Message.Text += "DataMember=" + binding.TextField +
" Depth=" + binding.Depth.ToString() + "<br />";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemBindingCollection CopyTo Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBindingCollection CopyTo 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)
' Declare an array of MenuItemBinding objects.
Dim bindingArray(NavigationMenu.DataBindings.Count - 1) As MenuItemBinding
' Use the CopyTo method to copy the MenuItemBinding objects
' from the collection into the array.
NavigationMenu.DataBindings.CopyTo(bindingArray, 0)
' Display the properties of the MenuItemBinding objects
' in the Bindings collection.
Message.Text = "The properties of the MenuItemBinding objects are: <br/><br/>"
Dim binding As MenuItemBinding
For Each binding In bindingArray
Message.Text &= "DataMember=" & binding.TextField & _
" Depth=" & binding.Depth.ToString() & "<br />"
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemBindingCollection CopyTo Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBindingCollection CopyTo 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 CopyTo method to copy the contents of the collection into the specified zero-based array. Items are copied starting at the specified index of the target array. With the array, you can then use array syntax to access the items in the MenuItemBindingCollection object.
As an alternative, you can also use the GetEnumerator method to create an enumerator that can be used to access the items in the collection.