MenuItemBinding.DataMember プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As MenuItemBinding Dim value As String value = instance.DataMember instance.DataMember = value
/** @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> 要素をメニュー内のすべてのメニュー項目にバインドします。
深さとデータ メンバの両方を指定するメニュー項目バインディングの作成が必要になる場合があります。このバインディングは、データ ソースに異なるレベルで同じデータ メンバ値を持つ項目が含まれている場合によく使用されます。たとえば、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 コントロールは次の優先順位でメニュー項目のバインディングを適用します。

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"
<MapNodeCategory ImageUrl="~\Images\Music.gif"
<MapNodeSection ImageUrl="~\Images\Classical.gif"
Description="Classical Section"
<MapNodeSection ImageUrl="~\Images\Rock.gif"
<MapNodeSection ImageUrl="~\Images\Jazz.gif"
</MapNodeCategory>
<MapNodeCategory ImageUrl="~\Images\Movies.gif"
<MapNodeSection ImageUrl="~\Images\Action.gif"
<MapNodeSection ImageUrl="~\Images\Drama.gif"
<MapNodeSection ImageUrl="~\Images\Musical.gif"
</MapNodeCategory>
</MapNodeHome>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- MenuItemBinding.DataMember プロパティのページへのリンク