MenuItemBindingCollection クラス
アセンブリ: System.Web (system.web.dll 内)


MenuItemBindingCollection クラスは、Menu コントロールに存在する MenuItemBinding オブジェクトのコレクションを格納および管理する場合に使用されます。Menu コントロールは、その DataBindings プロパティのデータ型として MenuItemBindingCollection クラスを使用します。DataBindings プロパティを使用して、Menu コントロールに定義されているメニュー項目のバインディングを格納します。
![]() |
---|
MenuItemBinding オブジェクトがコレクションに表示される順序は、これらのオブジェクトが Menu コントロールのメニュー項目に適用される方法には影響しません。 |
MenuItemBindingCollection クラスは、コレクション内の項目にアクセスするための複数の方法をサポートしています。
MenuItemBinding オブジェクトを追加および削除することにより、MenuItemBindingCollection オブジェクトをプログラムによって管理できます。コレクションにメニュー項目を追加するには、Add メソッドまたは Insert メソッドを使用します。コレクションからノードを削除するには、Remove、RemoveAt、または Clear の各メソッドを使用します。
MenuItemBindingCollection クラスには、コレクション自体の情報を取得できるプロパティとメソッドが格納されています。コレクション内の項目数を確認するには、Count プロパティを使用します。コレクションに特定の MenuItemBinding オブジェクトが含まれているかどうかを確認する場合は、Contains メソッドを使用します。コレクション内の MenuItemBinding オブジェクトのインデックスを取得するには、IndexOf メソッドを使用します。

MenuItemBindingCollection オブジェクトを宣言によって設定する方法のコード例を次に示します。この例を正常に動作させるには、以下のサンプル XML データを、Map.xml という名前のファイルにコピーする必要があります。
<%@ Page Language="VB" %> <html> <body> <form runat="server"> <h3>Menu DataBindings Example</h3> <asp:menu id="NavigationMenu" staticdisplaylevels="1" 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> <asp:XmlDataSource id="MenuSource" datafile="Map.xml" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" %> <html> <body> <form runat="server"> <h3>Menu DataBindings Example</h3> <asp:menu id="NavigationMenu" staticdisplaylevels="1" 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> <asp:XmlDataSource id="MenuSource" datafile="Map.xml" runat="server"/> </form> </body> </html>
MenuItemBinding オブジェクトをプログラムによって MenuItemBindingCollection オブジェクトに追加する方法のコード例を次に示します。この例を正常に動作させるには、以下のサンプル XML データを、Map.xml という名前のファイルにコピーする必要があります。
<%@ Page Language="VB" %> <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Create the menu item bindings for the Menu control. Dim binding As MenuItemBinding binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url") NavigationMenu.DataBindings.Add(binding) binding = CreateMenuItemBinding("MapNode", 1, "title", "url") NavigationMenu.DataBindings.Add(binding) binding = CreateMenuItemBinding("MapNode", 2, "title", "url") NavigationMenu.DataBindings.Add(binding) End If End Sub ' This is a helper method to create a MenuItemBinding ' object from the specified parameters. Function CreateMenuItemBinding(ByVal dataMember As String, ByVal depth As Integer, ByVal textField As String, ByVal navigateUrlField As String) As MenuItemBinding ' Create a new MenuItemBinding object. Dim binding As New MenuItemBinding() ' Set the properties of the MenuItemBinding object. binding.DataMember = dataMember binding.Depth = depth binding.TextField = textField binding.NavigateUrlField = navigateUrlField Return binding End Function </script> <html> <body> <form runat="server"> <h3>MenuItemBindingCollection Add Example</h3> <asp:menu id="NavigationMenu" staticdisplaylevels="2" staticsubmenuindent="10" orientation="Vertical" target="_blank" datasourceid="MenuSource" runat="server"> </asp:menu> <asp:xmldatasource id="MenuSource" datafile="Map.xml" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { if(!IsPostBack) { // Create the menu item bindings for the Menu control. MenuItemBinding binding; binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url"); NavigationMenu.DataBindings.Add(binding); binding = CreateMenuItemBinding("MapNode", 1, "title", "url"); NavigationMenu.DataBindings.Add(binding); binding = CreateMenuItemBinding("MapNode", 2, "title", "url"); NavigationMenu.DataBindings.Add(binding); } } // This is a helper method to create a MenuItemBinding // object from the specified parameters. MenuItemBinding CreateMenuItemBinding(String dataMember, int depth, String textField, String navigateUrlField) { // Create a new MenuItemBinding object. MenuItemBinding binding = new MenuItemBinding(); // Set the properties of the MenuItemBinding object. binding.DataMember = dataMember; binding.Depth = depth; binding.TextField = textField; binding.NavigateUrlField = navigateUrlField; return binding; } </script> <html> <body> <form runat="server"> <h3>MenuItemBindingCollection Add Example</h3> <asp:menu id="NavigationMenu" staticdisplaylevels="2" staticsubmenuindent="10" orientation="Vertical" target="_blank" datasourceid="MenuSource" runat="server"> </asp:menu> <asp:xmldatasource id="MenuSource" datafile="Map.xml" runat="server"/> </form> </body> </html>
<MapHomeNode url="~\Home.aspx"
description="Home">
<MapNode url="~\Music.aspx"
description="Music">
<MapNode url="~\Classical.aspx"
description="Classical"/>
<MapNode url="~\Rock.aspx"
description="Rock"/>
<MapNode url="~\Jazz.aspx"
description="Jazz"/>
</MapNode>
<MapNode url="~\Movies.aspx"
<MapNode url="~\Action.aspx"
description="Action"/>
<MapNode url="~\Drama.aspx"
description="Drama"/>
<MapNode url="~\Musical.aspx"
description="Musical"/>
</MapNode>
</MapHomeNode>


System.Web.UI.StateManagedCollection
System.Web.UI.WebControls.MenuItemBindingCollection


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- MenuItemBindingCollection クラスのページへのリンク