MenuItemBinding.TextField プロパティ

定義

データ ソースからフィールドの名前を取得または設定し、Text オブジェクトが適用される MenuItem オブジェクトの MenuItemBinding プロパティにバインドします。Gets or sets the name of the field from the data source to bind to the Text property of a MenuItem object to which the MenuItemBinding object is applied.

public:
 property System::String ^ TextField { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Web.UI.Design.DataSourceViewSchemaConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string TextField { get; set; }
member this.TextField : string with get, set
Public Property TextField As String

プロパティ値

Text が適用される MenuItemMenuItemBinding にバインドするデータ ソースのフィールド名。The name of the field from the data source to bind to the Text of a MenuItem to which the MenuItemBinding is applied. 既定値は空の文字列 ("") です。このプロパティが設定されていないことを示します。The default is an empty string (""), which indicates that this property is not set.

属性

次のコード例では、TextField プロパティを使用して、メニュー項目の Text プロパティにバインドするフィールドの名前を指定する方法を示します。The following code example demonstrates how to use the TextField property to specify the name of the field to bind to the Text property of a menu item. この例を正しく動作させるには、次のサンプル XML データを、「.xml」という名前のファイルにコピーする必要があります。For this example to work correctly, you must copy the sample XML data below to a file named Menu.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>MenuItemBinding Example</title>
</head>
<body>
    <form id="form1" 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="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>MenuItemBinding Example</title>
</head>
<body>
    <form id="form1" 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>

次のコードは、前の例のサイトマップデータのサンプルです。The following code is sample site map data for the previous example.

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

注釈

Menu コントロールがデータソースにバインドされている場合は、TextField プロパティを使用して、MenuItem オブジェクトの Text プロパティにバインドするフィールドの名前を指定します。When the Menu control is bound to a data source, use the TextField property to specify the name of the field to bind to the Text property of a MenuItem object. レンダリングされると、MenuItemBinding オブジェクトが適用される各メニュー項目の [Text] プロパティに、フィールドの対応する値が表示されます。When rendered, the Text property of each menu item to which the MenuItemBinding object is applied contains the corresponding value from the field. このテキストは、メニュー項目に表示されます。This text is displayed in the menu items.

注意

個々のメニュー項目のテキストをオーバーライドするには、その Text プロパティを直接設定します。You can override the text for an individual menu item by setting its Text property directly.

データソースに複数のテーブルまたは属性が含まれている場合は、まず、Depth プロパティ、DataMember プロパティ、またはその両方を設定して、バインド条件を確立する必要があります。If the data source contains multiple tables or attributes, you must first establish the binding criteria by setting the Depth property, the DataMember property, or both.

Text または TextField プロパティを空の文字列 ("") に設定することによって、Menu コントロールに空のノードを作成することはできません。You cannot create empty nodes in a Menu control by setting the Text or TextField properties to the empty string (""). これらのプロパティを空の文字列に設定しても、プロパティを設定しない場合と同じ効果があります。Setting these properties to the empty string has the same effect as not setting the properties. その場合、Menu コントロールは、DataSource プロパティを使用して既定のバインディングを作成します。In that case, the Menu control creates a default binding using the DataSource property. 詳細については、「 ASP.NET Data Access Content Map」を参照してください。For more information, see ASP.NET Data Access Content Map.

このプロパティを使用して MenuItem オブジェクトの Text プロパティをフィールドにバインドする代わりに、MenuItemBinding.Text プロパティを設定して静的な値にバインドすることもできます。Instead of using this property to bind the Text property of a MenuItem object to a field, you can also bind it to a static value by setting the MenuItemBinding.Text property. これにより、MenuItemBinding オブジェクトが適用される各メニュー項目に同じテキストを表示できます。This allows you to display the same text in each menu item to which the MenuItemBinding object is applied.

注意

Text プロパティと TextField プロパティの両方が設定されている場合は、TextField プロパティが優先されます。If the Text and TextField properties are both set, the TextField property takes precedence.

適用対象

こちらもご覧ください