Menu.DataBindings Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém uma coleção de objetos MenuItemBinding que definem a relação entre um item de dados e o item de menu ao qual ele está se associando.
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
Valor da propriedade
Um MenuItemBindingCollection que representa a relação entre um item de dados e o item de menu ao qual ele está se associando.
- Atributos
Exemplos
O exemplo de código a seguir demonstra como usar a DataBindings coleção para definir a relação entre os campos de um XmlDataSource controle e os itens de menu em um Menu controle . Para que este exemplo funcione corretamente, você deve copiar os dados XML de exemplo abaixo para um arquivo chamado 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>
Veja a seguir dados de mapa de site de exemplo para o exemplo anterior.
<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>
Comentários
A DataBindings coleção contém objetos que definem MenuItemBinding a relação entre um item de dados e o item de menu ao qual ele está se associando. Ao associar a uma fonte de dados em que cada item de dados contém várias propriedades (como um elemento XML com vários atributos), um item de menu exibe o valor retornado pelo ToString()
método do item de dados por padrão. No caso de um elemento XML, o item de menu exibe o nome do elemento, que mostra a estrutura subjacente da árvore, mas não é muito útil de outra forma. Você pode associar um item de menu a uma propriedade de item de dados específica especificando associações de item de menu.
Ao definir a relação entre um item de dados e um item de menu, você deve especificar os critérios de associação e a propriedade de um item de dados ao qual associar. Os critérios indicam quando um item de dados deve ser associado a um item de menu. Os critérios podem ser especificados com uma profundidade, um membro de dados ou ambos. A profundidade especifica o nível de menu que é associado. Por exemplo, se você especificar uma profundidade de 0, todos os itens de menu na estrutura de árvore no nível 0 serão associados usando a associação de item de menu. Um membro de dados especifica o tipo do item de dados na fonte de dados subjacente, mas pode representar informações diferentes dependendo da fonte de dados. Por exemplo, o membro de dados de um elemento XML especifica o nome do elemento.
Se vários MenuItemBinding objetos forem definidos em conflito entre si, o Menu controle aplicará as associações de item de menu na seguinte ordem de precedência:
O MenuItemBinding objeto que define uma profundidade e um membro de dados.
O MenuItemBinding objeto que define apenas a profundidade.
O MenuItemBinding objeto que define apenas o membro de dados.
O MenuItemBinding objeto que não define nem a profundidade nem o membro de dados.
Depois que os critérios de associação forem estabelecidos, você poderá associar uma propriedade de um MenuItem objeto que pode ser associado a um atributo ou campo de um item de dados. Por exemplo, você pode associar a Text propriedade de um item de menu ao atributo de texto em um elemento XML definindo a TextField propriedade de um MenuItemBinding objeto . Você também pode associar a um valor estático. Se você definir a Text propriedade de um MenuItemBinding objeto , todos os itens de menu aos quais o MenuItemBinding objeto é aplicado compartilharão o mesmo valor de texto estático. Para obter mais informações sobre como associar as propriedades de um MenuItem objeto a um valor, consulte MenuItemBinding.
Embora a DataBindings coleção possa ser populada programaticamente, ela geralmente é definida declarativamente. Para especificar as associações de item de menu, primeiro aninhar marcas de abertura e fechamento <DataBindings>
entre as marcas de abertura e fechamento do Menu controle. Em seguida, coloque <asp:MenuItemBinding>
os elementos entre as marcas de abertura e fechamento <DataBindings>
para cada associação de item de menu que você deseja especificar.