Compartilhar via


Menu.DataBindings Propriedade

Definição

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:

  1. O MenuItemBinding objeto que define uma profundidade e um membro de dados.

  2. O MenuItemBinding objeto que define apenas a profundidade.

  3. O MenuItemBinding objeto que define apenas o membro de dados.

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

Aplica-se a

Confira também