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

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

MenuItemBinding.DataMember プロパティ

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

メニュー項目にバインドするデータ メンバを取得または設定します。

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

Dim instance As MenuItemBinding
Dim value As String

value = instance.DataMember

instance.DataMember = value
public string DataMember { get;
 set; }
/** @property */
public String get_DataMember ()

/** @property */
public void set_DataMember (String value)

プロパティ値
メニュー項目にバインドするデータ メンバ。既定値は空の文字列 ("") です。この値は、このプロパティが設定されていないことを示します。

解説解説

MenuItemBinding オブジェクトを作成する場合、バインディング基準を指定する必要があります。基準は、データ項目をメニュー項目にバインドするタイミングを示します。Depth プロパティと DataMember プロパティのいずれか、または両方を指定できます。

データ ソースに複数の要素またはテーブルが含まれる場合は、DataMember プロパティを使用して、メニュー項目にバインドする要素またはテーブルを指定します。データ メンバは、基になるデータ ソースのデータ項目の型を指定します。ただし、データ ソースによっては異なる情報を表している場合があります。階層データ ソースの各データ項目 (System.Web.UI.IHierarchyData オブジェクトで表される) は、データ項目の型を指定する IHierarchyData.Type プロパティを公開します。たとえば、XML 要素のデータ メンバは、要素名を指定します。次の MenuItemBinding 宣言は、階層構造の場所に無関係に、XmlDataSource コントロールの <Book> 要素をメニュー内のすべてのメニュー項目にバインドします。

<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">

深さとデータ メンバの両方を指定するメニュー項目バインディングの作成が必要になる場合があります。このバインディングは、データ ソースに異なるレベルで同じデータ メンバ値を持つ項目が含まれている場合によく使用されます。たとえば、1 つの XML ファイル内の異なるレベルに表示される <Item> 要素を指定できます。メニューの深さが異なる同一のデータ メンバに適用されるメニュー項目バインディングの指定方法を次の MenuItemBinding 宣言に示します。

<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">

<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">

深さやデータ メンバを指定せずにメニュー項目バインディングを定義した場合、メニュー項目バインディングは、メニュー内のすべてのメニュー項目に適用されます。これは、通常、すべてのデータ項目に同じプロパティが存在し、メニューの深さに無関係にまったく同じ表示にする必要がある場合に使用されます。

バインディング基準が確立されたら、バインド可能な MenuItem オブジェクトのプロパティを値にバインドできます。データ項目のフィールドまたは静的な値にバインドできます。MenuItemBinding オブジェクトに静的な値がバインドされた場合、そのオブジェクトの適用先となるすべての MenuItem オブジェクトは、同じ値を共有します。フィールドにバインドされるプロパティには、データ ソースのフィールドの値が格納されています。

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

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

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

  3. 深さだけを定義し照合する MenuItemBinding オブジェクト。

  4. 深さもデータ メンバも定義しない MenuItemBinding オブジェクト。この種のメニュー項目バインディングは、メニュー内のすべてのメニュー項目に適用されます。

  5. データ ソース内に一致するものがない MenuItemBinding オブジェクト。この場合、データ項目の ToString() メソッドによって返される値は、MenuItemBinding オブジェクトが適用されるメニュー項目の Text プロパティと Value プロパティにバインドされます。

使用例使用例

DataMember プロパティを使用して、Menu コントロール内のメニュー項目にバインドする XML 要素を指定する方法を次のコード例に示します。この例を正常に動作させるには、以下のサンプル XML データを、MenuDataMember.xml という名前のファイルにコピーする必要があります。

<%@ page language="VB" %>

<html>
  <body>
    <form runat="server">

      <h3>MenuItemBinding DataMember Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding datamember="MapNodeHome"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNodeCategory"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNodeSection"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="MenuDataMember.xml"
        runat="server"/> 

    </form>
  </body>
</html>

<%@ page language="C#" %>

<html>
  <body>
    <form runat="server">

      <h3>MenuItemBinding DataMember Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding datamember="MapNodeHome"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNodeCategory"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNodeSection"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="MenuDataMember.xml"
        runat="server"/> 

    </form>
  </body>
</html>

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

<MapNodeHome ImageUrl="~\Images\Home.gif"

Title="Home"

Description="Root Page"

ToolTip="Home Page">

<MapNodeCategory ImageUrl="~\Images\Music.gif"

Title="Music"

Description="Music Category"

ToolTip="Music Page">

<MapNodeSection ImageUrl="~\Images\Classical.gif"

Title="Classical"

Description="Classical Section"

ToolTip="Classical Page"/>

<MapNodeSection ImageUrl="~\Images\Rock.gif"

Title="Rock"

Description="Rock Section"

ToolTip="Rock Page"/>

<MapNodeSection ImageUrl="~\Images\Jazz.gif"

Title="Jazz"

Description="Jazz Section"

ToolTip="Jazz Page"/>

</MapNodeCategory>

<MapNodeCategory ImageUrl="~\Images\Movies.gif"

Title="Movies"

Description="Movies Category"

ToolTip="Movies Page">

<MapNodeSection ImageUrl="~\Images\Action.gif"

Title="Action"

Description="Action Section"

ToolTip="Action Page"/>

<MapNodeSection ImageUrl="~\Images\Drama.gif"

Title="Drama"

Description="Drama Section"

ToolTip="Drama Page"/>

<MapNodeSection ImageUrl="~\Images\Musical.gif"

Title="Musical"

Description="Musical Section"

ToolTip="Musical Page"/>

</MapNodeCategory>

</MapNodeHome>

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



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「MenuItemBinding.DataMember プロパティ」の関連用語

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

   

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



MenuItemBinding.DataMember プロパティのページの著作権

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

©2026 GRAS Group, Inc.RSS