Menu.DataBindings Właściwość

Definicja

Pobiera kolekcję MenuItemBinding obiektów, które definiują relację między elementem danych i elementem menu, do którego jest to powiązanie.Gets a collection of MenuItemBinding objects that define the relationship between a data item and the menu item it is binding to.

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

Wartość właściwości

MenuItemBindingCollection

MenuItemBindingCollectionReprezentuje relację między elementem danych i elementem menu, do którego jest to powiązanie.A MenuItemBindingCollection that represents the relationship between a data item and the menu item it is binding to.

Atrybuty

Przykłady

Poniższy przykład kodu demonstruje, jak używać DataBindings kolekcji do definiowania relacji między polami XmlDataSource kontrolki i elementami menu w Menu kontrolce.The following code example demonstrates how to use the DataBindings collection to define the relationship between the fields of an XmlDataSource control and the menu items in a Menu control. Aby ten przykład działał prawidłowo, należy skopiować przykładowe dane XML poniżej do pliku o nazwie Map.xml.For this example to work correctly, you must copy the sample XML data below to a file named 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>

Poniżej przedstawiono przykładowe dane mapy witryny dla poprzedniego przykładu.The following is sample site map data for the previous example.

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

Uwagi

DataBindingsKolekcja zawiera MenuItemBinding obiekty, które definiują relację między elementem danych i elementem menu, do którego jest to powiązanie.The DataBindings collection contains MenuItemBinding objects that define the relationship between a data item and the menu item it is binding to. W przypadku tworzenia powiązania ze źródłem danych, gdzie każdy element danych zawiera wiele właściwości (takich jak element XML z kilkoma atrybutami), element menu wyświetla wartość zwracaną przez ToString() metodę elementu danych domyślnie.When binding to a data source where each data item contains multiple properties (such as an XML element with several attributes), a menu item displays the value returned by the ToString() method of the data item by default. W przypadku elementu XML element menu wyświetla nazwę elementu, który pokazuje podstawową strukturę drzewa, ale nie jest bardzo użyteczny w przeciwnym razie.In the case of an XML element, the menu item displays the element name, which shows the underlying structure of the tree, but is not very useful otherwise. Element menu można powiązać z określoną właściwością elementu danych przez określenie powiązań elementu menu.You can bind a menu item to a specific data item property by specifying menu item bindings.

Podczas definiowania relacji między elementem danych a elementem menu należy określić kryteria dla powiązania i właściwość elementu danych, z którym ma zostać utworzone powiązanie.When defining the relationship between a data item and a menu item, you must specify both the criteria for binding and the property of a data item to bind to. Kryteria wskazują, kiedy element danych powinien być powiązany z elementem menu.The criteria indicate when a data item should be bound to a menu item. Kryteria można określić przy użyciu głębokości, elementu członkowskiego danych lub obu.The criteria can be specified with a depth, a data member, or both. Głębokość określa poziom menu, który jest powiązany.The depth specifies the menu level that gets bound. Na przykład jeśli określisz głębokość 0, wszystkie elementy menu w strukturze drzewa na poziomie 0 będą powiązane z użyciem powiązania elementu menu.For example, if you specify a depth of 0, all menu items in the tree structure at level 0 are bound using the menu item binding. Element członkowski danych określa typ elementu danych w bazowym źródle danych, ale może reprezentować różne informacje w zależności od źródła danych.A data member specifies the type of the data item in the underlying data source, but can represent different information depending on the data source. Na przykład element członkowski danych dla elementu XML określa nazwę elementu.For example, the data member for an XML element specifies the name of the element.

Jeśli MenuItemBinding zdefiniowano wiele obiektów, które kolidują ze sobą, Menu formant stosuje powiązania elementu menu w następującej kolejności:If multiple MenuItemBinding objects are defined that conflict with each other, the Menu control applies the menu item bindings in the following order of precedence:

  1. MenuItemBindingObiekt, który definiuje zarówno głębokość, jak i element członkowski danych.The MenuItemBinding object that defines both a depth and a data member.

  2. MenuItemBindingObiekt, który definiuje tylko głębokość.The MenuItemBinding object that defines only the depth.

  3. MenuItemBindingObiekt, który definiuje tylko element członkowski danych.The MenuItemBinding object that defines only the data member.

  4. MenuItemBindingObiekt, który definiuje głębokość ani element członkowski danych.The MenuItemBinding object that defines neither the depth nor the data member.

Po ustanowieniu kryteriów wiązania można powiązać Właściwość MenuItem obiektu, który może być powiązany z atrybutem lub polem elementu danych.Once the binding criteria are established, you can then bind a property of a MenuItem object that is able to be bound to an attribute or field of a data item. Na przykład można powiązać Text właściwość elementu menu z atrybutem Text w elemencie XML przez ustawienie TextField właściwości MenuItemBinding obiektu.For example, you can bind the Text property of a menu item to the text attribute on an XML element by setting the TextField property of a MenuItemBinding object. Można również powiązać z wartością statyczną.You can also bind to a static value. Jeśli ustawisz Text Właściwość MenuItemBinding obiektu, wszystkie elementy menu, do których MenuItemBinding zastosowano obiekt, mają tę samą wartość tekst statyczny.If you set the Text property of a MenuItemBinding object, all menu items to which the MenuItemBinding object is applied share the same static text value. Aby uzyskać więcej informacji na temat wiązania właściwości MenuItem obiektu z wartością, zobacz MenuItemBinding .For more information on binding the properties of a MenuItem object to a value, see MenuItemBinding.

Chociaż DataBindings Kolekcja może być wypełniana programowo, jest zazwyczaj ustawiana deklaratywnie.Although the DataBindings collection can be programmatically populated, it is usually set declaratively. Aby określić powiązania elementów menu, najpierw zagnieździ otwierające i zamykające <DataBindings> znaczniki między otwierającym i zamykającym tagiem Menu kontrolki.To specify the menu item bindings, first nest opening and closing <DataBindings> tags between the opening and closing tags of the Menu control. Następnie umieść <asp:MenuItemBinding> elementy między tagiem otwierającym i zamykającym <DataBindings> dla każdego powiązania elementu menu, które chcesz określić.Next, place <asp:MenuItemBinding> elements between the opening and closing <DataBindings> tags for each menu item binding you want to specify.

Dotyczy

Zobacz też