MenuItemBindingCollection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma coleção de MenuItemBinding objetos.
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
- Herança
Exemplos
O exemplo de código seguinte demonstra como preencher um MenuItemBindingCollection objeto de forma declarativa. Para que este exemplo funcione corretamente, deve copiar os dados XML de exemplo abaixo para um ficheiro chamado 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>
O seguinte exemplo de código demonstra como adicionar MenuItemBinding objetos a um MenuItemBindingCollection objeto programaticamente. Para que este exemplo funcione corretamente, deve copiar os dados XML de exemplo abaixo para um ficheiro chamado 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>
Segue-se um exemplo de dados de mapas de sítios para os exemplos anteriores.
<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>
Observações
A MenuItemBindingCollection classe é usada para armazenar e gerir uma coleção de MenuItemBinding objetos no Menu controlo. O Menu controlo utiliza a MenuItemBindingCollection classe como tipo de dado para a sua DataBindings propriedade. A DataBindings propriedade é usada para armazenar quaisquer ligações de itens do menu definidas para o Menu controlo.
Note
A ordem em que MenuItemBinding os objetos aparecem na coleção não afeta a forma como esses objetos são aplicados aos itens do menu num Menu controlo.
A MenuItemBindingCollection classe suporta várias formas de aceder aos itens da coleção:
Use o Item[] indexador para recuperar diretamente o MenuItemBinding objeto num índice específico baseado em zero.
Use o GetEnumerator método para criar um enumerador que possa ser usado para iterar pela coleção.
Use o CopyTo método para copiar o conteúdo da coleção num array.
Podes gerir programaticamente um MenuItemBindingCollection objeto adicionando e removendo MenuItemBinding objetos. Para adicionar itens do menu à coleção, use o Add ou o Insert método. Para remover nós da coleção, use o Remove, o RemoveAt, ou o Clear método.
A MenuItemBindingCollection classe contém propriedades e métodos que permitem obter informações sobre a própria coleção. Para saber quantos itens há na coleção, utilize a Count propriedade. Se quiser determinar se a coleção contém um determinado MenuItemBinding objeto, use o Contains método. Para obter o índice de um MenuItemBinding objeto na coleção, use o IndexOf método.
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de elementos contidos na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Item[Int32] |
Obtém o MenuItemBinding objeto no índice especificado da coleção. |
Métodos
| Name | Description |
|---|---|
| Add(MenuItemBinding) |
Acrescenta o objeto especificado MenuItemBinding ao final da coleção. |
| Clear() |
Remove todos os itens da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Contains(MenuItemBinding) |
Determina se o objeto especificado MenuItemBinding está na coleção. |
| CopyTo(Array, Int32) |
Copia os elementos da StateManagedCollection coleção para um array, começando num índice particular do array. (Herdado de StateManagedCollection) |
| CopyTo(MenuItemBinding[], Int32) |
Copia todos os itens do MenuItemBindingCollection objeto para um array unidimensional compatível de MenuItemBinding objectos, começando no índice especificado no array-alvo. |
| CreateKnownType(Int32) |
Quando sobrescrito numa classe derivada, cria-se uma instância de uma classe que implementa IStateManager. O tipo de objeto criado baseia-se no membro especificado da coleção devolvido pelo GetKnownTypes() método. (Herdado de StateManagedCollection) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um iterador que itera pela StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetKnownTypes() |
Quando é sobreposto numa classe derivada, obtém um array de IStateManager tipos que a StateManagedCollection coleção pode conter. (Herdado de StateManagedCollection) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(MenuItemBinding) |
Determina o índice do objeto especificado MenuItemBinding na coleção. |
| Insert(Int32, MenuItemBinding) |
Adiciona o objeto especificado MenuItemBinding à coleção na localização do índice especificada. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnClear() |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o Clear() método remover todos os itens da coleção. (Herdado de StateManagedCollection) |
| OnClearComplete() |
Quando sobreposto numa classe derivada, realiza trabalho adicional após o Clear() método terminar de remover todos os itens da coleção. (Herdado de StateManagedCollection) |
| OnInsert(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o IList.Insert(Int32, Object) método ou IList.Add(Object) adicionar um item à coleção. (Herdado de StateManagedCollection) |
| OnInsertComplete(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional após o IList.Insert(Int32, Object) método ou IList.Add(Object) adicionar um item à coleção. (Herdado de StateManagedCollection) |
| OnRemove(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional antes de o IList.Remove(Object) método ou IList.RemoveAt(Int32) remover o item especificado da coleção. (Herdado de StateManagedCollection) |
| OnRemoveComplete(Int32, Object) |
Quando sobreposto numa classe derivada, realiza trabalho adicional após o IList.Remove(Object) método ou IList.RemoveAt(Int32) remover o item especificado da coleção. (Herdado de StateManagedCollection) |
| OnValidate(Object) |
Quando sobreposto numa classe derivada, valida um elemento da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| Remove(MenuItemBinding) |
Remove o objeto especificado MenuItemBinding da coleção. |
| RemoveAt(Int32) |
Remove o MenuItemBinding objeto na localização de índice especificada da coleção. |
| SetDirty() |
Força toda a StateManagedCollection coleção a ser serializada no estado de visualização. (Herdado de StateManagedCollection) |
| SetDirtyObject(Object) |
Quando sobreposto numa classe derivada, instrui um |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.Count |
Obtém o número de elementos contidos na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| ICollection.IsSynchronized |
Recebe um valor que indica se a StateManagedCollection coleção está sincronizada (thread safe). Este método retorna |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso à StateManagedCollection coleção. Este método retorna |
| IEnumerable.GetEnumerator() |
Devolve um iterador que itera pela StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Add(Object) |
Adiciona um item à StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Clear() |
Remove todos os itens da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Contains(Object) |
Determina se a StateManagedCollection coleção contém um valor específico. (Herdado de StateManagedCollection) |
| IList.IndexOf(Object) |
Determina o índice de um item especificado na StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.Insert(Int32, Object) |
Insere um item na StateManagedCollection coleção no índice especificado. (Herdado de StateManagedCollection) |
| IList.IsFixedSize |
Recebe um valor que indica se a StateManagedCollection coleção tem um tamanho fixo. Este método retorna |
| IList.IsReadOnly |
Recebe um valor que indica se a StateManagedCollection coleção é apenas de leitura. (Herdado de StateManagedCollection) |
| IList.Item[Int32] |
Obtém o IStateManager elemento no índice especificado. (Herdado de StateManagedCollection) |
| IList.Remove(Object) |
Remove a primeira ocorrência do objeto especificado da StateManagedCollection coleção. (Herdado de StateManagedCollection) |
| IList.RemoveAt(Int32) |
Remove o IStateManager elemento no índice especificado. (Herdado de StateManagedCollection) |
| IStateManager.IsTrackingViewState |
Recebe um valor que indica se a StateManagedCollection coleção está a guardar alterações ao seu estado de visualização. (Herdado de StateManagedCollection) |
| IStateManager.LoadViewState(Object) |
Restaura o estado de visualização previamente guardado da StateManagedCollection coleção e dos IStateManager itens que contém. (Herdado de StateManagedCollection) |
| IStateManager.SaveViewState() |
Guarda as alterações à StateManagedCollection coleção e a cada IStateManager objeto que contém desde o momento em que a página foi publicada de volta no servidor. (Herdado de StateManagedCollection) |
| IStateManager.TrackViewState() |
Faz com que a StateManagedCollection coleção e cada um dos IStateManager objetos que contém acompanhem alterações no estado da sua visualização para que possam ser persistidos entre pedidos para a mesma página. (Herdado de StateManagedCollection) |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |