Поделиться через


Menu.DataBindings Свойство

Определение

Возвращает коллекцию объектов, определяющих MenuItemBinding связь между элементом данных и элементом меню, к которому она привязана.

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

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

Объект, MenuItemBindingCollection представляющий связь между элементом данных и элементом меню, к которому она привязана.

Атрибуты

Примеры

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

Ниже приведены примеры данных карты сайта для предыдущего примера.

<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 объекты, определяющие связь между элементом данных и элементом меню, к которому она привязана. При привязке к источнику данных, где каждый элемент данных содержит несколько свойств (например, XML-элемент с несколькими атрибутами), элемент меню отображает значение, возвращаемое ToString() методом элемента данных по умолчанию. В случае XML-элемента в меню отображается имя элемента, которое показывает базовую структуру дерева, но не очень полезно в противном случае. Вы можете привязать элемент меню к определенному свойству элемента данных, указав привязки элементов меню.

При определении связи между элементом данных и элементом меню необходимо указать критерии привязки и свойства элемента данных для привязки. Критерии указывают, когда элемент данных должен быть привязан к элементу меню. Критерии можно указать с глубиной, элементом данных или обоими. Глубина задает уровень меню, который получает привязку. Например, если указать глубину 0, все элементы меню в структуре дерева на уровне 0 привязаны с помощью привязки элемента меню. Элемент данных указывает тип элемента данных в базовом источнике данных, но может представлять разные сведения в зависимости от источника данных. Например, элемент данных для XML-элемента указывает имя элемента.

Если несколько MenuItemBinding объектов определены, конфликтующие друг с другом, Menu элемент управления применяет привязки элементов меню в следующем порядке приоритета:

  1. Объект MenuItemBinding , определяющий глубину и элемент данных.

  2. Объект MenuItemBinding , определяющий только глубину.

  3. Объект MenuItemBinding , определяющий только элемент данных.

  4. Объект MenuItemBinding , определяющий ни глубину, ни элемент данных.

После установки условий привязки можно привязать свойство MenuItem объекта, который может быть привязан к атрибуту или полю элемента данных. Например, свойство элемента меню можно привязать Text к текстовому атрибуту XML-элемента, задав TextField свойство MenuItemBinding объекта. Можно также привязать к статическому значению. Если задать Text свойство MenuItemBinding объекта, все элементы меню, к которым MenuItemBinding применяется объект, используют одно и то же статическое текстовое значение. Дополнительные сведения о привязке свойств MenuItem объекта к значению см. в разделе MenuItemBinding.

DataBindings Хотя коллекция может быть программно заполнена, обычно она устанавливается декларативно. Чтобы указать привязки элементов меню, сначала вложенное открытие и закрытие тегов между открывающим и закрывающим <DataBindings> тегами Menu элемента управления. Затем поместите <asp:MenuItemBinding> элементы между открывающим и закрывающим <DataBindings> тегами для каждой привязки элемента меню, которую нужно указать.

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

См. также раздел