MenuItemBindingCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 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 对象。 若要使此示例正常工作,必须将下面的示例 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>
下面的代码示例演示如何以编程方式将对象添加到MenuItemBindingMenuItemBindingCollection对象。 若要使此示例正常工作,必须将下面的示例 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类用于在控件中Menu存储和管理对象的集合MenuItemBinding。 控件 Menu 使用 MenuItemBindingCollection 类作为其 DataBindings 属性的数据类型。 该 DataBindings 属性用于存储为 Menu 控件定义的任何菜单项绑定。
备注
对象在集合中显示的顺序 MenuItemBinding 不会影响这些对象如何应用于控件中的 Menu 菜单项。
该 MenuItemBindingCollection 类支持多种访问集合中项的方法:
Item[]使用索引器直接检索MenuItemBinding特定从零开始的索引处的对象。
使用该方法 GetEnumerator 创建可用于循环访问集合的枚举器。
使用该方法 CopyTo 将集合的内容复制到数组中。
可以通过添加和删除MenuItemBinding对象以编程方式管理MenuItemBindingCollection对象。 若要向集合中添加菜单项,请使用 Add 或 Insert 方法。 若要从集合中删除节点,请使用 Remove、 RemoveAt方法或 Clear 方法。
该 MenuItemBindingCollection 类包含属性和方法,可用于检索有关集合本身的信息。 若要了解集合中的项数,请使用该 Count 属性。 如果要确定集合是否包含特定 MenuItemBinding 对象,请使用 Contains 该方法。 若要获取集合中对象的索引 MenuItemBinding ,请使用 IndexOf 该方法。
属性
Count |
获取 StateManagedCollection 集合中包含的元素的数量。 (继承自 StateManagedCollection) |
Item[Int32] |
获取集合中指定索引处的 MenuItemBinding 对象。 |
方法
显式接口实现
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |