Menu.DataBindings 屬性

定義

取得 MenuItemBinding 物件的集合,這些物件會定義資料項目及它所繫結之功能表項目之間的關係。

public:
 property System::Web::UI::WebControls::MenuItemBindingCollection ^ DataBindings { System::Web::UI::WebControls::MenuItemBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.MenuItemBindingCollection DataBindings { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.MenuItemBindingCollection
Public ReadOnly Property DataBindings As MenuItemBindingCollection

屬性值

MenuItemBindingCollection,代表資料項目及它所繫結之功能表項目之間的關係。

屬性

範例

下列程式碼範例示範如何使用 DataBindings 集合來定義控制項欄位 XmlDataSource 與控制項中 Menu 功能表項目之間的關聯性。 若要讓此範例正常運作,您必須將下面的範例 XML 資料複製到名為 Map.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>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" 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="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>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" 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>  

備註

DataBindings集合包含 MenuItemBinding 物件,定義資料項目與其系結之功能表項目之間的關聯性。 系結至資料來源時,每個資料項目包含多個屬性 (例如具有數個屬性的 XML 元素) ,功能表項目預設會顯示資料項目方法所 ToString() 傳回的值。 在 XML 元素的情況下,功能表項目會顯示專案名稱,其中顯示樹狀結構的基礎結構,但不是非常實用。 您可以藉由指定功能表項目系結,將功能表項目系結至特定的資料項目屬性。

定義資料項目與功能表項目之間的關聯性時,您必須同時指定要系結之資料項目的準則和屬性。 準則會指出資料項目何時應該系結至功能表項目。 您可以使用深度、資料成員或兩者來指定準則。 深度會指定系結的功能表層級。 例如,如果您指定深度為 0,則層級 0 樹狀結構中的所有功能表項目都會使用功能表項目系結來系結。 資料成員會指定基礎資料來源中資料項目的類型,但可以根據資料來源來表示不同的資訊。 例如,XML 元素的資料成員會指定專案的名稱。

如果定義多個 MenuItemBinding 物件彼此衝突,控制項 Menu 會以下列優先順序套用功能表項目系結:

  1. MenuItemBinding定義深度和資料成員的物件。

  2. MenuItemBinding只定義深度的物件。

  3. MenuItemBinding只定義資料成員的 物件。

  4. MenuItemBinding定義深度和資料成員的物件。

建立系結準則之後,您就可以系結物件的屬性 MenuItem ,該屬性可以系結至資料項目的屬性或欄位。 例如,您可以藉由設定 TextField 物件的 屬性,將功能表項目的 屬性系結 Text 至 XML 元素上的文字屬性 MenuItemBinding 。 您也可以系結至靜態值。 如果您設定 Text 物件的 屬性 MenuItemBinding ,則 MenuItemBinding 套用物件的所有功能表項目都會共用相同的靜態文字值。 如需將 物件屬性 MenuItem 系結至值的詳細資訊,請參閱 MenuItemBinding

DataBindings雖然集合可以程式設計方式填入,但通常是以宣告方式設定。 若要指定功能表項目系結,請先在控制項的 Menu 開頭和結束記號之間巢狀開啟和結尾 <DataBindings> 標記。 接下來,將元素放在 <asp:MenuItemBinding> 您要指定之每個功能表項目系結的開頭和結尾 <DataBindings> 標記之間。

適用於

另請參閱