Sdílet prostřednictvím


MenuItemBindingCollection Třída

Definice

Představuje kolekci MenuItemBinding objektů.

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
Dědičnost
MenuItemBindingCollection

Příklady

Následující příklad kódu ukazuje, jak naplnit MenuItemBindingCollection objekt deklarativním způsobem. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML níže 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ásledující příklad kódu ukazuje, jak přidat MenuItemBinding objekty do objektu MenuItemBindingCollection programově. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML níže 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">
<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>

Následující příklad obsahuje ukázková data mapy webu pro předchozí příklady.

<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

Třída MenuItemBindingCollection slouží k ukládání a správě kolekce MenuItemBinding objektů v ovládacím Menu prvku. Ovládací Menu prvek používá MenuItemBindingCollection třídu jako datový typ pro jeho DataBindings vlastnost. Vlastnost DataBindings slouží k uložení všech vazeb položek nabídky definovaných Menu pro ovládací prvek.

Poznámka:

Pořadí, ve kterém MenuItemBinding se objekty v kolekci zobrazují, nemá žádný vliv na způsob použití těchto objektů u položek nabídky v ovládacím Menu prvku.

Třída MenuItemBindingCollection podporuje několik způsobů přístupu k položkám v kolekci:

  • Pomocí indexeru Item[]MenuItemBinding můžete přímo načíst objekt v určitém indexu založeném na nule.

  • Použijte metodu GetEnumerator k vytvoření enumerátoru, který lze použít k iteraci v kolekci.

  • CopyTo Pomocí metody zkopírujte obsah kolekce do pole.

Objekt můžete spravovat MenuItemBindingCollection prostřednictvím kódu programu přidáním a odebráním MenuItemBinding objektů. Chcete-li do kolekce přidat položky nabídky, použijte Add metodu nebo metodu Insert . Chcete-li odebrat uzly z kolekce, použijte Remove, , RemoveAt, nebo metodu Clear .

Třída MenuItemBindingCollection obsahuje vlastnosti a metody, které umožňují načíst informace o samotné kolekci. Pokud chcete zjistit, kolik položek je v kolekci, použijte Count tuto vlastnost. Pokud chcete zjistit, zda kolekce obsahuje určitý MenuItemBinding objekt, použijte metodu Contains . K získání indexu MenuItemBinding objektu v kolekci použijte metodu IndexOf .

Vlastnosti

Name Description
Count

Získá počet prvků obsažených v kolekci StateManagedCollection .

(Zděděno od StateManagedCollection)
Item[Int32]

MenuItemBinding Získá objekt v zadaném indexu z kolekce.

Metody

Name Description
Add(MenuItemBinding)

Připojí zadaný MenuItemBinding objekt na konec kolekce.

Clear()

Odebere všechny položky z StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
Contains(MenuItemBinding)

Určuje, zda je zadaný MenuItemBinding objekt v kolekci.

CopyTo(Array, Int32)

Zkopíruje prvky StateManagedCollection kolekce do pole počínaje konkrétním indexem pole.

(Zděděno od StateManagedCollection)
CopyTo(MenuItemBinding[], Int32)

Zkopíruje všechny položky z objektu MenuItemBindingCollection do kompatibilního jednorozměrného pole MenuItemBinding objektů počínaje zadaným indexem v cílovém poli.

CreateKnownType(Int32)

Při přepsání v odvozené třídě vytvoří instanci třídy, která implementuje IStateManager. Typ vytvořeného objektu je založen na zadaném členu kolekce vrácené metodou GetKnownTypes() .

(Zděděno od StateManagedCollection)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí iterátor, který prochází kolekcí StateManagedCollection .

(Zděděno od StateManagedCollection)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetKnownTypes()

Při přepsání v odvozené třídě získá pole typů IStateManager , které StateManagedCollection kolekce může obsahovat.

(Zděděno od StateManagedCollection)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IndexOf(MenuItemBinding)

Určuje index zadaného MenuItemBinding objektu v kolekci.

Insert(Int32, MenuItemBinding)

Přidá zadaný MenuItemBinding objekt do kolekce v zadaném umístění indexu.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
OnClear()

Při přepsání v odvozené třídě provede další práci předtím, než Clear() metoda odebere všechny položky z kolekce.

(Zděděno od StateManagedCollection)
OnClearComplete()

Při přepsání v odvozené třídě provede další práci po Clear() dokončení metody odebrání všech položek z kolekce.

(Zděděno od StateManagedCollection)
OnInsert(Int32, Object)

Při přepsání v odvozené třídě provede další práci před IList.Insert(Int32, Object) přidáním položky do kolekce.IList.Add(Object)

(Zděděno od StateManagedCollection)
OnInsertComplete(Int32, Object)

Při přepsání v odvozené třídě provede další práci po IList.Insert(Int32, Object) přidání položky IList.Add(Object) do kolekce.

(Zděděno od StateManagedCollection)
OnRemove(Int32, Object)

Při přepsání v odvozené třídě provede další práci před IList.Remove(Object) odebráním IList.RemoveAt(Int32) zadané položky z kolekce.

(Zděděno od StateManagedCollection)
OnRemoveComplete(Int32, Object)

Při přepsání v odvozené třídě provede další práci po IList.Remove(Object) odebrání IList.RemoveAt(Int32) zadané položky z kolekce.

(Zděděno od StateManagedCollection)
OnValidate(Object)

Při přepsání v odvozené třídě ověří prvek StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
Remove(MenuItemBinding)

Odebere zadaný MenuItemBinding objekt z kolekce.

RemoveAt(Int32)

Odebere MenuItemBinding objekt v zadaném umístění indexu z kolekce.

SetDirty()

Vynutí serializaci celé StateManagedCollection kolekce do stavu zobrazení.

(Zděděno od StateManagedCollection)
SetDirtyObject(Object)

Při přepsání v odvozené třídě dává kolekci pokyn object , aby zaznamenával celý stav, aby zobrazoval stav, a ne zaznamenával pouze informace o změnách.

(Zděděno od StateManagedCollection)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
ICollection.Count

Získá počet prvků obsažených v kolekci StateManagedCollection .

(Zděděno od StateManagedCollection)
ICollection.IsSynchronized

Získá hodnotu označující, zda StateManagedCollection je kolekce synchronizována (bezpečné vlákno). Tato metoda vrátí false ve všech případech.

(Zděděno od StateManagedCollection)
ICollection.SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k kolekci StateManagedCollection . Tato metoda vrátí null ve všech případech.

(Zděděno od StateManagedCollection)
IEnumerable.GetEnumerator()

Vrátí iterátor, který prochází kolekcí StateManagedCollection .

(Zděděno od StateManagedCollection)
IList.Add(Object)

Přidá položku do StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
IList.Clear()

Odebere všechny položky z StateManagedCollection kolekce.

(Zděděno od StateManagedCollection)
IList.Contains(Object)

Určuje, zda StateManagedCollection kolekce obsahuje konkrétní hodnotu.

(Zděděno od StateManagedCollection)
IList.IndexOf(Object)

Určuje index zadané položky v kolekci StateManagedCollection .

(Zděděno od StateManagedCollection)
IList.Insert(Int32, Object)

Vloží položku do StateManagedCollection kolekce v zadaném indexu.

(Zděděno od StateManagedCollection)
IList.IsFixedSize

Získá hodnotu určující, zda StateManagedCollection kolekce má pevnou velikost. Tato metoda vrátí false ve všech případech.

(Zděděno od StateManagedCollection)
IList.IsReadOnly

Získá hodnotu určující, zda StateManagedCollection kolekce je jen pro čtení.

(Zděděno od StateManagedCollection)
IList.Item[Int32]

IStateManager Získá prvek v zadaném indexu.

(Zděděno od StateManagedCollection)
IList.Remove(Object)

Odebere první výskyt zadaného objektu StateManagedCollection z kolekce.

(Zděděno od StateManagedCollection)
IList.RemoveAt(Int32)

Odebere IStateManager prvek v zadaném indexu.

(Zděděno od StateManagedCollection)
IStateManager.IsTrackingViewState

Získá hodnotu určující, zda StateManagedCollection kolekce ukládá změny do jeho stavu zobrazení.

(Zděděno od StateManagedCollection)
IStateManager.LoadViewState(Object)

Obnoví dříve uložený stav StateManagedCollection zobrazení kolekce a IStateManager položky, které obsahuje.

(Zděděno od StateManagedCollection)
IStateManager.SaveViewState()

Uloží změny StateManagedCollection v kolekci a každý IStateManager objekt, který obsahuje od doby, kdy byla stránka odeslána zpět na server.

(Zděděno od StateManagedCollection)
IStateManager.TrackViewState()

Způsobí, že StateManagedCollection kolekce a každý z IStateManager objektů, které obsahuje, bude sledovat změny jejich stavu zobrazení, aby bylo možné je zachovat napříč požadavky na stejnou stránku.

(Zděděno od StateManagedCollection)

Metody rozšíření

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable na základě zadaného typu.

Platí pro

Viz také