MenuItemBindingCollection Класс

Определение

Представляет коллекцию объектов MenuItemBinding.

public ref class MenuItemBindingCollection sealed : System::Web::UI::StateManagedCollection
public sealed class MenuItemBindingCollection : System.Web.UI.StateManagedCollection
type MenuItemBindingCollection = class
    inherit StateManagedCollection
Public NotInheritable Class MenuItemBindingCollection
Inherits StateManagedCollection
Наследование
MenuItemBindingCollection

Примеры

В следующем примере кода показано, как декларативно заполнить MenuItemBindingCollection объект. Чтобы этот пример работал правильно, необходимо скопировать приведенные ниже примеры 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>

В следующем примере кода показано, как программно добавлять MenuItemBinding объекты в MenuItemBindingCollection объект. Чтобы этот пример работал правильно, необходимо скопировать приведенные ниже примеры 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">
<script runat="server">

  void Page_Load(Object sender, EventArgs e)
  {
    if(!IsPostBack)
    {
      // Create the menu item bindings for the Menu control.
      MenuItemBinding binding;
      
      binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url");
      NavigationMenu.DataBindings.Add(binding);

      binding = CreateMenuItemBinding("MapNode", 1, "title", "url");
      NavigationMenu.DataBindings.Add(binding);

      binding = CreateMenuItemBinding("MapNode", 2, "title", "url");
      NavigationMenu.DataBindings.Add(binding);
    }
  }

  // This is a helper method to create a MenuItemBinding 
  // object from the specified parameters.
  MenuItemBinding CreateMenuItemBinding(String dataMember, int depth, String textField, String navigateUrlField)
  {
    // Create a new MenuItemBinding object.
    MenuItemBinding binding = new MenuItemBinding();

    // Set the properties of the MenuItemBinding object.
    binding.DataMember = dataMember;
    binding.Depth = depth;
    binding.TextField = textField;
    binding.NavigateUrlField = navigateUrlField;

    return binding;
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemBindingCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">        
      </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">
<script runat="server">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
 
    If Not IsPostBack Then
    
      ' Create the menu item bindings for the Menu control.
      Dim binding As MenuItemBinding
      
      binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url")
      NavigationMenu.DataBindings.Add(binding)

      binding = CreateMenuItemBinding("MapNode", 1, "title", "url")
      NavigationMenu.DataBindings.Add(binding)

      binding = CreateMenuItemBinding("MapNode", 2, "title", "url")
      NavigationMenu.DataBindings.Add(binding)
   
    End If
    
  End Sub

  ' This is a helper method to create a MenuItemBinding 
  ' object from the specified parameters.
  Function CreateMenuItemBinding(ByVal dataMember As String, ByVal depth As Integer, ByVal textField As String, ByVal navigateUrlField As String) As MenuItemBinding
  
    ' Create a new MenuItemBinding object.
    Dim binding As New MenuItemBinding()

    ' Set the properties of the MenuItemBinding object.
    binding.DataMember = dataMember
    binding.Depth = depth
    binding.TextField = textField
    binding.NavigateUrlField = navigateUrlField

    Return binding
    
  End Function
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemBindingCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">        
      </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>

Комментарии

Класс MenuItemBindingCollection используется для хранения коллекции MenuItemBinding объектов в элементе Menu управления и управления ими. Элемент Menu управления использует MenuItemBindingCollection класс в качестве типа данных для его DataBindings свойства. Свойство DataBindings используется для хранения всех привязок элементов меню, определенных для Menu элемента управления.

Примечание

Порядок отображения объектов в коллекции не влияет на то, MenuItemBinding как эти объекты применяются к пунктам меню в элементе Menu управления.

Класс MenuItemBindingCollection поддерживает несколько способов доступа к элементам в коллекции:

  • Item[] Используйте индексатор для непосредственного MenuItemBinding получения объекта по определенному отсчитываемого от нуля индекса.

  • GetEnumerator Используйте метод для создания перечислителя, который можно использовать для итерации по коллекции.

  • CopyTo Используйте метод для копирования содержимого коллекции в массив.

Вы можете программно управлять MenuItemBindingCollection объектом, добавляя и удаляя MenuItemBinding объекты. Чтобы добавить элементы меню в коллекцию, используйте Add метод или Insert метод. Чтобы удалить узлы из коллекции, используйте Removeметод , RemoveAtили Clear метод.

Класс MenuItemBindingCollection содержит свойства и методы, позволяющие извлекать сведения о самой коллекции. Чтобы узнать, сколько элементов находится в коллекции, используйте Count свойство. Если вы хотите определить, содержит ли коллекция определенный MenuItemBinding объект, используйте Contains этот метод. Чтобы получить индекс MenuItemBinding объекта в коллекции, используйте IndexOf метод.

Свойства

Count

Получает количество элементов, содержащихся в коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
Item[Int32]

Получает объект MenuItemBinding из коллекции по указанному индексу.

Методы

Add(MenuItemBinding)

Добавляет указанный объект MenuItemBinding в конец коллекции.

Clear()

Удаляет все элементы из коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
Contains(MenuItemBinding)

Определяет, присутствует ли в коллекции указанный объект MenuItemBinding.

CopyTo(Array, Int32)

Копирует элементы коллекции StateManagedCollection в массив, начиная с определенного индекса в массиве.

(Унаследовано от StateManagedCollection)
CopyTo(MenuItemBinding[], Int32)

Копирует все элементы из объекта MenuItemBindingCollection в совместимый одномерный массив объектов MenuItemBinding, начиная с указанного индекса в массиве назначения.

CreateKnownType(Int32)

При переопределении в производном классе создает экземпляр класса, реализующий IStateManager. Тип созданного объекта основан на указанном элементе коллекции, возвращенном методом GetKnownTypes().

(Унаследовано от StateManagedCollection)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Возвращает итератор, осуществляющий перебор коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetKnownTypes()

При переопределении в производном классе получает массив типов IStateManager, которые может содержать коллекция StateManagedCollection.

(Унаследовано от StateManagedCollection)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IndexOf(MenuItemBinding)

Определяет индекс указанного объекта MenuItemBinding в коллекции.

Insert(Int32, MenuItemBinding)

Добавляет указанный объект MenuItemBinding в коллекцию по указанному расположению индекса.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnClear()

При переопределении в производном классе выполняет дополнительные действия перед тем, как метод Clear() удалит все элементы из коллекции.

(Унаследовано от StateManagedCollection)
OnClearComplete()

При переопределении в производном классе выполняет дополнительные действия после того, как метод Clear() завершит удаление всех элементов из коллекции.

(Унаследовано от StateManagedCollection)
OnInsert(Int32, Object)

При переопределении в производном классе выполняет дополнительные действия перед тем, как метод IList.Insert(Int32, Object) или IList.Add(Object) добавит элемент в коллекцию.

(Унаследовано от StateManagedCollection)
OnInsertComplete(Int32, Object)

При переопределении в производном классе выполняет дополнительные действия после того, как метод IList.Insert(Int32, Object) или IList.Add(Object) добавит элемент в коллекцию.

(Унаследовано от StateManagedCollection)
OnRemove(Int32, Object)

При переопределении в производном классе выполняет дополнительные действия перед тем, как метод IList.Remove(Object) или IList.RemoveAt(Int32) удалит указанный элемент из коллекции.

(Унаследовано от StateManagedCollection)
OnRemoveComplete(Int32, Object)

При переопределении в производном классе выполняет дополнительные действия после того, как метод IList.Remove(Object) или IList.RemoveAt(Int32) удалит указанный элемент из коллекции.

(Унаследовано от StateManagedCollection)
OnValidate(Object)

При переопределении в производном классе проверяет элемент в коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
Remove(MenuItemBinding)

Удаляет указанный объект MenuItemBinding из коллекции.

RemoveAt(Int32)

Удаляет объект MenuItemBinding, расположенный по указанному индексу, из коллекции.

SetDirty()

Обеспечивает принудительную сериализацию всей коллекции StateManagedCollection в состояние представления.

(Унаследовано от StateManagedCollection)
SetDirtyObject(Object)

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

(Унаследовано от StateManagedCollection)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

ICollection.Count

Получает количество элементов, содержащихся в коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
ICollection.IsSynchronized

Получает значение, указывающее, является ли коллекция StateManagedCollection синхронизированной (потокобезопасной). Этот метод возвращает значение false во всех случаях.

(Унаследовано от StateManagedCollection)
ICollection.SyncRoot

Получает объект, который можно использовать для синхронизации доступа к коллекции StateManagedCollection. Этот метод возвращает значение null во всех случаях.

(Унаследовано от StateManagedCollection)
IEnumerable.GetEnumerator()

Возвращает итератор, осуществляющий перебор коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
IList.Add(Object)

Добавляет элемент в коллекцию StateManagedCollection.

(Унаследовано от StateManagedCollection)
IList.Clear()

Удаляет все элементы из коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
IList.Contains(Object)

Определяет, содержит ли коллекция StateManagedCollection указанное значение.

(Унаследовано от StateManagedCollection)
IList.IndexOf(Object)

Определяет индекс указанного элемента в коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
IList.Insert(Int32, Object)

Вставляет элемент в коллекцию StateManagedCollection по указанному индексу.

(Унаследовано от StateManagedCollection)
IList.IsFixedSize

Получает значение, указывающее, имеет ли коллекция StateManagedCollection фиксированный размер. Этот метод возвращает значение false во всех случаях.

(Унаследовано от StateManagedCollection)
IList.IsReadOnly

Получает значение, указывающее, является ли коллекция StateManagedCollection доступной только для чтения.

(Унаследовано от StateManagedCollection)
IList.Item[Int32]

Возвращает элемент IStateManager по указанному индексу.

(Унаследовано от StateManagedCollection)
IList.Remove(Object)

Удаляет первое вхождение указанного объекта из коллекции StateManagedCollection.

(Унаследовано от StateManagedCollection)
IList.RemoveAt(Int32)

Удаляет элемент IStateManager по указанному индексу.

(Унаследовано от StateManagedCollection)
IStateManager.IsTrackingViewState

Получает значение, указывающее, сохраняет ли коллекция StateManagedCollection изменения в свое состояние представления.

(Унаследовано от StateManagedCollection)
IStateManager.LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления коллекции StateManagedCollection и элементов IStateManager, которые она содержит.

(Унаследовано от StateManagedCollection)
IStateManager.SaveViewState()

Сохраняет изменения коллекции StateManagedCollection и каждого объекта IStateManager, который она содержит, с момента обратной передачи страницы серверу.

(Унаследовано от StateManagedCollection)
IStateManager.TrackViewState()

Способствует тому, что коллекция StateManagedCollection и каждый из ее объектов IStateManager отслеживают изменения в их состоянии представления, поэтому они могут сохраняться среди запросов для той же страницы.

(Унаследовано от StateManagedCollection)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

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

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