Menu.DataBindings Свойство

Определение

Получает коллекцию объектов MenuItemBinding, определяющих связь между элементом данных и пунктом меню, к которому он привязан.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; }
member this.DataBindings : System.Web.UI.WebControls.MenuItemBindingCollection
Public ReadOnly Property DataBindings As MenuItemBindingCollection

Значение свойства

Объект MenuItemBindingCollection, представляющий связь между элементом данных и пунктом меню, к которому он привязан.A MenuItemBindingCollection that represents the relationship between a data item and the menu item it is binding to.

Атрибуты

Примеры

В следующем примере кода показано, как использовать DataBindings коллекцию для определения связи между полями XmlDataSource элемента управления и элементами меню в Menu элементе управления.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. Чтобы этот пример работал правильно, необходимо скопировать приведенный ниже образец XML-данных в файл с именем 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>

Ниже приведен пример данных схемы сайта для предыдущего примера.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>  

Комментарии

DataBindings Коллекция содержитMenuItemBinding объекты, определяющие связь между элементом данных и пунктом меню, к которому он привязан.The DataBindings collection contains MenuItemBinding objects that define the relationship between a data item and the menu item it is binding to. При привязке к источнику данных, где каждый элемент данных содержит несколько свойств (например, элемент XML с несколькими атрибутами), элемент меню отображает значение, возвращаемое ToString() методом элемента данных по умолчанию.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. В случае XML-элемента элемент меню отображает имя элемента, которое показывает базовую структуру дерева, но не очень полезно в противном случае.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. Элемент меню можно привязать к определенному свойству элемента данных, указав привязки пунктов меню.You can bind a menu item to a specific data item property by specifying menu item bindings.

При определении связи между элементом данных и пунктом меню необходимо указать как критерии привязки, так и свойство элемента данных для привязки.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. Критерий указывает, когда элемент данных должен быть привязан к пункту меню.The criteria indicate when a data item should be bound to a menu item. Критерии можно указать с помощью глубины, элемента данных или и того и другого.The criteria can be specified with a depth, a data member, or both. Глубина определяет уровень меню, на который осуществляется привязка.The depth specifies the menu level that gets bound. Например, если указать глубину 0, все пункты меню в древовидной структуре на уровне 0 будут привязаны с помощью привязки пункта меню.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. Элемент данных указывает тип элемента данных в базовом источнике данных, но может представлять различные сведения в зависимости от источника данных.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. Например, элемент данных для элемента XML указывает имя элемента.For example, the data member for an XML element specifies the name of the element.

Если определено несколько MenuItemBinding объектов, которые конфликтуют друг с другом Menu , элемент управления применяет привязки пунктов меню в следующем порядке приоритета: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. MenuItemBinding Объект, определяющий глубину и элемент данных.The MenuItemBinding object that defines both a depth and a data member.

  2. MenuItemBinding Объект, определяющий только глубину.The MenuItemBinding object that defines only the depth.

  3. MenuItemBinding Объект, определяющий только элемент данных.The MenuItemBinding object that defines only the data member.

  4. MenuItemBinding Объект, который определяет глубину и элемент данных.The MenuItemBinding object that defines neither the depth nor the data member.

После установки критериев привязки можно привязать свойство MenuItem объекта, который может быть привязан к атрибуту или полю элемента данных.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. Например, можно привязать Text свойство элемента меню к атрибуту Text элемента XML, TextField задав свойство MenuItemBinding объекта.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. Также можно выполнить привязку к статическому значению.You can also bind to a static value. Если задать Text свойство MenuItemBinding объекта, то все пункты MenuItemBinding меню, к которым применяется этот объект, имеют одинаковое статическое текстовое значение.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. Дополнительные сведения о привязке свойств MenuItem объекта к значению см. в разделе. MenuItemBindingFor more information on binding the properties of a MenuItem object to a value, see MenuItemBinding.

Несмотря на DataBindings то, что коллекцию можно заполнять программным образом, она обычно задается декларативно.Although the DataBindings collection can be programmatically populated, it is usually set declaratively. Чтобы указать привязки пунктов меню, сначала вложенные открывающие и закрывающие <DataBindings> теги между открывающим и закрывающим тегами Menu элемента управления.To specify the menu item bindings, first nest opening and closing <DataBindings> tags between the opening and closing tags of the Menu control. Затем поместите <asp:MenuItemBinding> элементы между открывающим и закрывающим <DataBindings> тегами для каждой привязки пункта меню, которую нужно указать.Next, place <asp:MenuItemBinding> elements between the opening and closing <DataBindings> tags for each menu item binding you want to specify.

Применяется к

Дополнительно