Sdílet prostřednictvím


Menu.DataBindings Vlastnost

Definice

Získá kolekci MenuItemBinding objektů, které definují vztah mezi položkou dat a položkou nabídky, se kterou je vázán.

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

Hodnota vlastnosti

A MenuItemBindingCollection , který představuje relaci mezi položkou dat a položkou nabídky, na kterou je vázán.

Atributy

Příklady

Následující příklad kódu ukazuje, jak použít kolekci DataBindings k definování relace mezi poli XmlDataSource ovládacího prvku a položkami nabídky v ovládacím prvku Menu . Aby tento příklad fungoval správně, musíte zkopírovat níže uvedená ukázková data XML do souboru s názvem 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>

Následuje ukázka mapových dat webu pro předchozí příklad.

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

Poznámky

Kolekce DataBindings obsahuje MenuItemBinding objekty, které definují vztah mezi položkou dat a položkou nabídky, na kterou je vázána. Při vazbě na zdroj dat, kde každá položka dat obsahuje více vlastností (například element XML s několika atributy), položka nabídky zobrazí hodnotu vrácenou metodou ToString() datové položky ve výchozím nastavení. V případě elementu XML se v položce nabídky zobrazí název elementu, který zobrazuje podkladovou strukturu stromu, ale jinak není moc užitečný. Položku nabídky můžete vytvořit vazbu na konkrétní vlastnost datové položky zadáním vazeb položek nabídky.

Při definování relace mezi položkou dat a položkou nabídky musíte zadat kritéria pro vazbu i vlastnost datové položky, se kterou se má svázat. Kritéria určují, kdy má být položka dat svázána s položkou nabídky. Kritéria lze zadat s hloubkou, datovým členem nebo obojím. Hloubka určuje úroveň nabídky, která se sváže. Pokud například zadáte hloubku 0, budou všechny položky nabídky ve stromové struktuře na úrovni 0 vázány pomocí vazby položky nabídky. Datový člen určuje typ položky dat v podkladovém zdroji dat, ale může představovat různé informace v závislosti na zdroji dat. Například datový člen pro element XML určuje název elementu.

Pokud je definováno více MenuItemBinding objektů, které jsou vzájemně v konfliktu, Menu ovládací prvek použije vazby položek nabídky v následujícím pořadí podle priority:

  1. Objekt MenuItemBinding , který definuje hloubku i datový člen.

  2. Objekt MenuItemBinding , který definuje pouze hloubku.

  3. Objekt MenuItemBinding , který definuje pouze datový člen.

  4. Objekt MenuItemBinding , který nedefinuje hloubku ani datový člen.

Po vytvoření kritérií vazby můžete svázat vlastnost objektu MenuItem , který je možné svázat s atributem nebo polem datové položky. Můžete například svázat Text vlastnost položky nabídky s atributem text v elementu XML nastavením TextField vlastnosti objektu MenuItemBinding . Můžete také vytvořit vazbu na statickou hodnotu. Pokud nastavíte Text vlastnost objektu MenuItemBinding , všechny položky nabídky, na které MenuItemBinding je objekt použit, budou sdílet stejnou statickou textovou hodnotu. Další informace o vazbě vlastností objektu MenuItem na hodnotu najdete v tématu MenuItemBinding.

I když je možné kolekci DataBindings naplnit programově, obvykle se nastavuje deklarativně. Chcete-li určit vazby položek nabídky, nejprve vnořte počáteční a uzavírací <DataBindings> značky mezi otevírací a uzavírací značky Menu ovládacího prvku. Dále umístěte <asp:MenuItemBinding> prvky mezi otevírací a uzavírací <DataBindings> značky pro každou vazbu položky nabídky, kterou chcete zadat.

Platí pro

Viz také