Menu.DataBindings 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 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 會以下列優先順序套用功能表項目系結:
MenuItemBinding定義深度和資料成員的物件。
MenuItemBinding只定義深度的物件。
MenuItemBinding只定義資料成員的 物件。
MenuItemBinding定義深度和資料成員的物件。
建立系結準則之後,您就可以系結物件的屬性 MenuItem ,該屬性可以系結至資料項目的屬性或欄位。 例如,您可以藉由設定 TextField 物件的 屬性,將功能表項目的 屬性系結 Text 至 XML 元素上的文字屬性 MenuItemBinding 。 您也可以系結至靜態值。 如果您設定 Text 物件的 屬性 MenuItemBinding ,則 MenuItemBinding 套用物件的所有功能表項目都會共用相同的靜態文字值。 如需將 物件屬性 MenuItem 系結至值的詳細資訊,請參閱 MenuItemBinding 。
DataBindings雖然集合可以程式設計方式填入,但通常是以宣告方式設定。 若要指定功能表項目系結,請先在控制項的 Menu 開頭和結束記號之間巢狀開啟和結尾 <DataBindings>
標記。 接下來,將元素放在 <asp:MenuItemBinding>
您要指定之每個功能表項目系結的開頭和結尾 <DataBindings>
標記之間。