次の方法で共有


MenuItemBindingCollection クラス

定義

MenuItemBinding オブジェクトのコレクションを表します。

public ref class MenuItemBindingCollection sealed : System::Web::UI::StateManagedCollection
public sealed class MenuItemBindingCollection : System.Web.UI.StateManagedCollection
type MenuItemBindingCollection = class
    inherit StateManagedCollection
Public NotInheritable Class MenuItemBindingCollection
Inherits StateManagedCollection
継承
MenuItemBindingCollection

次のコード例は、宣言によってオブジェクトを設定する方法を MenuItemBindingCollection 示しています。 この例を正しく動作させるには、以下のサンプル 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" 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="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" 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="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)
    {
      // 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 xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Add Example</title>
</head>
<body>
    <form id="form1" 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="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
    
      ' 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 xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Add Example</title>
</head>
<body>
    <form id="form1" 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"

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>

注釈

このMenuItemBindingCollectionクラスは、コントロール内MenuのオブジェクトのMenuItemBindingコレクションを格納および管理するために使用されます。 コントロールは Menu 、そのプロパティの MenuItemBindingCollection データ型としてクラスを DataBindings 使用します。 この DataBindings プロパティは、コントロールに対して定義されているメニュー項目バインドを Menu 格納するために使用されます。

注意

コレクションにオブジェクトが表示される MenuItemBinding 順序は、コントロール内のメニュー項目にそれらのオブジェクトを適用する方法には Menu 影響しません。

このクラスでは MenuItemBindingCollection 、コレクション内の項目にアクセスするいくつかの方法がサポートされています。

  • インデクサーを Item[] 使用して、特定の MenuItemBinding 0 から始まるインデックスでオブジェクトを直接取得します。

  • このメソッドを GetEnumerator 使用して、コレクションを反復処理するために使用できる列挙子を作成します。

  • このメソッドを CopyTo 使用して、コレクションの内容を配列にコピーします。

オブジェクトを追加および削除MenuItemBindingすることで、オブジェクトをMenuItemBindingCollectionプログラムで管理できます。 メニュー項目をコレクションに追加するには、メソッドまたはメソッドをAddInsert使用します。 コレクションからノードを削除するには、またはメソッドをClear使用RemoveAtRemoveします。

この MenuItemBindingCollection クラスには、コレクション自体に関する情報を取得できるプロパティとメソッドが含まれています。 コレクション内の項目の数を調べるには、プロパティを Count 使用します。 コレクションに特定 MenuItemBinding のオブジェクトが含まれているかどうかを判断する場合は、メソッドを Contains 使用します。 コレクション内のオブジェクトのインデックスを MenuItemBinding 取得するには、メソッドを IndexOf 使用します。

プロパティ

Count

StateManagedCollection コレクションに格納されている要素の数を取得します。

(継承元 StateManagedCollection)
Item[Int32]

指定したインデックス位置にある MenuItemBinding オブジェクトをコレクションから取得します。

メソッド

Add(MenuItemBinding)

指定した MenuItemBinding オブジェクトをコレクションの末尾に追加します。

Clear()

StateManagedCollection コレクションからすべての項目を削除します。

(継承元 StateManagedCollection)
Contains(MenuItemBinding)

指定した MenuItemBinding オブジェクトがコレクション内にあるかどうかを確認します。

CopyTo(Array, Int32)

特定の配列インデックスを開始位置として、配列に StateManagedCollection コレクションの要素をコピーします。

(継承元 StateManagedCollection)
CopyTo(MenuItemBinding[], Int32)

MenuItemBindingCollection のすべての項目を互換性のある 1 次元の MenuItemBinding オブジェクト配列にコピーします。コピー先の配列の指定したインデックスからコピーが開始されます。

CreateKnownType(Int32)

派生クラスでオーバーライドされた場合、IStateManager を実装するクラスのインスタンスを作成します。 作成されるオブジェクトの型は、GetKnownTypes() メソッドから返されるコレクションの指定されたメンバーに基づきます。

(継承元 StateManagedCollection)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetEnumerator()

StateManagedCollection コレクションを反復処理する反復子を返します。

(継承元 StateManagedCollection)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetKnownTypes()

派生クラスでオーバーライドされた場合、StateManagedCollection コレクションに格納できる IStateManager 型の配列を取得します。

(継承元 StateManagedCollection)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IndexOf(MenuItemBinding)

コレクション内の指定した MenuItemBinding オブジェクトのインデックスを確認します。

Insert(Int32, MenuItemBinding)

指定したインデックス位置に、指定した MenuItemBinding オブジェクトを追加します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnClear()

派生クラスでオーバーライドされた場合、Clear() メソッドによってコレクションからすべての項目が削除される前の補足作業を実行します。

(継承元 StateManagedCollection)
OnClearComplete()

派生クラスでオーバーライドされた場合、Clear() メソッドによってコレクションからすべての項目が削除された後の補足作業を実行します。

(継承元 StateManagedCollection)
OnInsert(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Insert(Int32, Object) メソッドまたは IList.Add(Object) メソッドによってコレクションに項目が追加される前の補足作業を実行します。

(継承元 StateManagedCollection)
OnInsertComplete(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Insert(Int32, Object) メソッドまたは IList.Add(Object) メソッドによってコレクションに項目が追加された後の補足作業を実行します。

(継承元 StateManagedCollection)
OnRemove(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Remove(Object) メソッドまたは IList.RemoveAt(Int32) メソッドによって、指定された項目がコレクションから削除される前の補足作業を実行します。

(継承元 StateManagedCollection)
OnRemoveComplete(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Remove(Object) メソッドまたは IList.RemoveAt(Int32) メソッドによって、指定された項目がコレクションから削除された後の補足作業を実行します。

(継承元 StateManagedCollection)
OnValidate(Object)

派生クラスでオーバーライドされた場合、StateManagedCollection コレクションの要素を検証します。

(継承元 StateManagedCollection)
Remove(MenuItemBinding)

指定した MenuItemBinding オブジェクトをコレクションから削除します。

RemoveAt(Int32)

指定したインデックス位置にある MenuItemBinding オブジェクトをコレクションから削除します。

SetDirty()

強制的に StateManagedCollection コレクション全体をビューステートにシリアル化します。

(継承元 StateManagedCollection)
SetDirtyObject(Object)

派生クラスでオーバーライドされた場合、コレクションに格納されている object に、変更情報だけでなく、その状態全体をビューステートに記録するよう指示します。

(継承元 StateManagedCollection)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

ICollection.Count

StateManagedCollection コレクションに格納されている要素の数を取得します。

(継承元 StateManagedCollection)
ICollection.IsSynchronized

StateManagedCollection コレクションが同期されている (スレッド セーフである) かどうかを示す値を取得します。 このメソッドは、常に false を返します。

(継承元 StateManagedCollection)
ICollection.SyncRoot

StateManagedCollection コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。 このメソッドは、常に null を返します。

(継承元 StateManagedCollection)
IEnumerable.GetEnumerator()

StateManagedCollection コレクションを反復処理する反復子を返します。

(継承元 StateManagedCollection)
IList.Add(Object)

項目を StateManagedCollection コレクションに追加します。

(継承元 StateManagedCollection)
IList.Clear()

StateManagedCollection コレクションからすべての項目を削除します。

(継承元 StateManagedCollection)
IList.Contains(Object)

StateManagedCollection コレクションに特定の値が格納されているかどうかを判断します。

(継承元 StateManagedCollection)
IList.IndexOf(Object)

StateManagedCollection コレクション内での指定した項目のインデックスを調べます。

(継承元 StateManagedCollection)
IList.Insert(Int32, Object)

StateManagedCollection コレクション内の指定したインデックスの位置に項目を挿入します。

(継承元 StateManagedCollection)
IList.IsFixedSize

StateManagedCollection コレクションが固定サイズかどうかを示す値を取得します。 このメソッドは、常に false を返します。

(継承元 StateManagedCollection)
IList.IsReadOnly

StateManagedCollection コレクションが読み取り専用かどうかを示す値を取得します。

(継承元 StateManagedCollection)
IList.Item[Int32]

指定されたインデックス位置の IStateManager 要素を取得します。

(継承元 StateManagedCollection)
IList.Remove(Object)

指定したオブジェクトのうち、StateManagedCollection コレクションで最初に出現したオブジェクトを削除します。

(継承元 StateManagedCollection)
IList.RemoveAt(Int32)

指定したインデックス位置にある IStateManager 要素を削除します。

(継承元 StateManagedCollection)
IStateManager.IsTrackingViewState

StateManagedCollection コレクションがビューステートへの変更を保存しているかどうかを示す値を取得します。

(継承元 StateManagedCollection)
IStateManager.LoadViewState(Object)

StateManagedCollection コレクションと、そのコレクションに格納されている IStateManager 項目の以前に保存されたビューステートを復元します。

(継承元 StateManagedCollection)
IStateManager.SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した、StateManagedCollection コレクションとその各 IStateManager オブジェクトへの変更を保存します。

(継承元 StateManagedCollection)
IStateManager.TrackViewState()

StateManagedCollection コレクションとその各 IStateManager オブジェクトに自身のビューステートへの変更を追跡させ、同じページに対する要求間でこれらが永続化されるようにします。

(継承元 StateManagedCollection)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください