MenuItemBinding クラスとは? わかりやすく解説

MenuItemBinding クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

データ項目と、それが Menu コントロール内でバインドしているメニュー項目との関係を定義します。このクラス継承できません。

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

Public NotInheritable Class
 MenuItemBinding
    Implements IStateManager, ICloneable, IDataSourceViewSchemaAccessor
Dim instance As MenuItemBinding
public sealed class MenuItemBinding : IStateManager,
 ICloneable, IDataSourceViewSchemaAccessor
public ref class MenuItemBinding sealed : IStateManager,
 ICloneable, IDataSourceViewSchemaAccessor
public final class MenuItemBinding implements
 IStateManager, ICloneable, 
    IDataSourceViewSchemaAccessor
public final class MenuItemBinding implements
 IStateManager, ICloneable, 
    IDataSourceViewSchemaAccessor
解説解説

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

メモメモ

Menu コントロールが SiteMapDataSource コントロールバインドされている場合メニュー項目バインディング無効です。バインディングは、サイト マップ プロバイダ使用して自動的に実行されます。

Menu コントロールは、その MenuItemBinding オブジェクトを DataBindings プロパティ格納しデータ ソースバインディング適用してメニュー階層構造データ ソース階層構造との間に一対一リレーションシップ作成しますデータ ソース内のデータ項目について、Menu コントロールは、対応する MenuItem オブジェクト作成するために、データ項目MenuItemBinding オブジェクトとの照合試みます

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

メニュー項目の深さバインドされるメニュー レベル指定します。たとえば、次の MenuItemBinding 宣言は、データ ソースName フィールドID フィールドを、深さ 0 のすべてのノードText プロパティValue プロパティそれぞれバインドます。

<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">

データ メンバは、基になるデータ ソースデータ項目の型を指定します。ただし、データ ソースによっては異な情報表している場合あります階層データ ソースの各データ項目 (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 オブジェクトは、同じ値を共有しますフィールドバインドされるプロパティには、データ ソース対応するフィールドの値が格納されています。

メモメモ

MenuItem オブジェクト内のバインドされたプロパティは、対応するプロパティ直接設定することにより、選択的にオーバーライドできます

MenuItem オブジェクトプロパティデータ項目フィールドバインドできる、MenuItemBinding クラスプロパティの一覧を次の表に示します

MenuItem オブジェクトプロパティ静的な値にバインドできる、MenuItemBinding クラスプロパティの一覧を次の表に示します

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

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

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

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

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

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

MenuItemBinding クラスでは、FormatString プロパティ設定することにより、メニュー項目に表示されるテキスト書式設定することもできます

使用例使用例

MenuItemBinding オブジェクト使用してXmlDataSource コントロールフィールドMenu コントロールメニュー項目との関係を定義する方法次のコード例示します。この例を正常に動作させるには、以下のサンプル XML データを、Menu.xml という名前のファイルコピーする必要があります

<%@ page language="VB" %>

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

      <h3>MenuItemBinding Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
        
          <asp:menuitembinding datamember="MapHomeNode"
            formatstring="({0})" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNode"
 
            depth="1"
            formatstring="[{0}]" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNode"
 
            depth="2"
            formatstring="<{0}>" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </DataBindings>
        
      </asp:menu>

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

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

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

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

      <h3>MenuItemBinding Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
        
          <asp:menuitembinding datamember="MapHomeNode"
            formatstring="({0})" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            formatstring="[{0}]" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            formatstring="<{0}>" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </DataBindings>
        
      </asp:menu>

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

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

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

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

Title="Home"

Description="Root Page"

ToolTip="Home Page">

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

Title="Music"

Description="Music Category"

ToolTip="Music Page">

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

Title="Classical"

Description="Classical Section"

ToolTip="Classical Page"/>

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

Title="Rock"

Description="Rock Section"

ToolTip="Rock Page"/>

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

Title="Jazz"

Description="Jazz Section"

ToolTip="Jazz Page"/>

</MapNode>

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

Title="Movies"

Description="Movies Category"

ToolTip="Movies Page">

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

Title="Action"

Description="Action Section"

ToolTip="Action Page"/>

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

Title="Drama"

Description="Drama Section"

ToolTip="Drama Page"/>

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

Title="Musical"

Description="Musical Section"

ToolTip="Musical Page"/>

</MapNode>

</MapHomeNode>

.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.WebControls.MenuItemBinding
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
MenuItemBinding メンバ
System.Web.UI.WebControls 名前空間
Menu クラス
MenuItem クラス
MenuItemBindingCollection
AccessDataSource クラス
ObjectDataSource
SiteMapDataSource
SqlDataSource
XmlDataSource
Menu.DataBindings プロパティ
DataMember
Depth
FormatString
MenuItem.ImageUrl プロパティ
ImageUrl
ImageUrlField
MenuItem.NavigateUrl プロパティ
NavigateUrl
NavigateUrlField
Target
MenuItem.Text プロパティ
Text
TextField
MenuItem.ToolTip プロパティ
ToolTip
ToolTipField
Value
Value
ValueField



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MenuItemBinding クラス」の関連用語

MenuItemBinding クラスのお隣キーワード
検索ランキング

   

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



MenuItemBinding クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS