Menu.DataBindings プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Menu.DataBindings プロパティの意味・解説 

Menu.DataBindings プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

データ項目とそのバインド先のメニュー項目との間の関係を定義する MenuItemBinding オブジェクトのコレクションを取得します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public ReadOnly Property
 DataBindings As MenuItemBindingCollection
Dim instance As Menu
Dim value As MenuItemBindingCollection

value = instance.DataBindings
public MenuItemBindingCollection DataBindings { get;
 }
public:
property MenuItemBindingCollection^ DataBindings {
    MenuItemBindingCollection^ get ();
}
/** @property */
public MenuItemBindingCollection get_DataBindings ()
public function get DataBindings
 () : MenuItemBindingCollection

プロパティ値
データ項目とそのバインド先のメニュー項目との間の関係を表す MenuItemBindingCollection。

解説解説

DataBindings コレクションには、データ項目とそのバインド先のメニュー項目との間の関係を定義する MenuItemBinding オブジェクトが含まれています。複数の属性を持つ XML 要素などのように、各データ項目に複数のプロパティが含まれているデータ ソースにバインドする場合、メニュー項目にはデータ項目の ToString() メソッドから返される値が既定で表示されます。XML 要素の場合、メニュー項目には要素名が表示されます。これはメニュー ツリーの基になる構造体を示す以外はあまり用途はありません。メニュー項目は、メニュー項目のバインディングを指定して、特定のデータ項目のプロパティにバインドできます。

データ項目とメニュー項目の関係を定義するときは、バインディングの基準とバインド先のデータ項目のプロパティの両方を指定する必要があります。基準は、データ項目をメニュー項目にバインドするタイミングを示します。基準は、深さ、データ メンバ、またはその両方で指定できます。深さはバインドされるメニュー レベルを指定します。たとえば、深さに 0 を指定すると、ツリー構造のレベル 0 にあるすべてのメニュー項目が、メニュー項目のバインディングを使用してバインドされます。データ メンバは、基になるデータ ソースのデータ項目の型を指定します。ただし、データ ソースによっては異なる情報を表している場合があります。たとえば、XML 要素のデータ メンバは、要素名を指定します。

互いに競合する複数の MenuItemBinding オブジェクトが定義されている場合は、Menu コントロールは次の優先順位でメニュー項目のバインディングを適用します。

  1. 深さとデータ メンバの両方を定義する MenuItemBinding オブジェクト。

  2. 深さだけを定義する MenuItemBinding オブジェクト。

  3. データ メンバだけを定義する MenuItemBinding オブジェクト。

  4. 深さもデータ メンバも定義しない MenuItemBinding オブジェクト。

バインディング基準が確立されたら、バインドできる MenuItem オブジェクトのプロパティをデータ項目の属性またはフィールドにバインドできます。たとえば、MenuItemBinding オブジェクトの TextField プロパティを設定して、メニュー項目の Text プロパティを XML 要素の text 属性にバインドできます。静的な値にバインドすることもできます。MenuItemBinding オブジェクトの Text プロパティを設定すると、MenuItemBinding オブジェクトが適用されるメニュー項目はすべて、同じ静的テキスト値を共有します。MenuItem オブジェクトのプロパティを値にバインドする方法の詳細については、「MenuItemBinding」を参照してください。

DataBindings コレクションはプログラムにより設定できますが、通常は宣言によって設定されます。メニュー項目のバインディングを指定するには、まず Menu コントロールの開始タグと終了タグの間に <DataBindings> の開始タグと終了タグを入れ子します。次に、指定するメニュー項目のバインディングごとに、<DataBindings> の開始タグと終了タグの間に <asp:MenuItemBinding> 要素を入れます。

使用例使用例

DataBindings コレクションを使用して、XmlDataSource コントロールのフィールドと Menu コントロールのメニュー項目の間の関係を定義する方法のコード例を次に示します。この例を正常に動作させるには、以下のサンプル 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>

前の例のサンプル サイト マップ データを次に示します。

<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>

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Menu クラス
Menu メンバ
System.Web.UI.WebControls 名前空間
MenuItemBinding
MenuItemBindingCollection



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「Menu.DataBindings プロパティ」の関連用語

Menu.DataBindings プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Menu.DataBindings プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS