MenuItemCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 Menu 控件中菜单项的集合。 此类不能被继承。
public ref class MenuItemCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class MenuItemCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type MenuItemCollection = class
interface ICollection
interface IEnumerable
interface IStateManager
Public NotInheritable Class MenuItemCollection
Implements ICollection, IStateManager
- 继承
-
MenuItemCollection
- 实现
示例
下面的代码示例演示如何使用声明性语法填充 Items 和 ChildItems 集合。
<%@ 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" >
<!-- For the hover styles of the Menu control to -->
<!-- work correctly, you must include this head -->
<!-- element. -->
<head runat="server">
<title>Menu Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu Declarative Example</h3>
<!-- Use declarative syntax to create the -->
<!-- menu structure. Submenu items are -->
<!-- created by nesting them in parent menu -->
<!-- items. -->
<asp:menu id="NavigationMenu"
disappearafter="2000"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
font-names="Arial"
target="_blank"
runat="server">
<staticmenuitemstyle backcolor="LightSteelBlue"
forecolor="Black"/>
<statichoverstyle backcolor="LightSkyBlue"/>
<dynamicmenuitemstyle backcolor="Black"
forecolor="Silver"/>
<dynamichoverstyle backcolor="LightSkyBlue"
forecolor="Black"/>
<items>
<asp:menuitem navigateurl="Home.aspx"
text="Home"
tooltip="Home">
<asp:menuitem navigateurl="Music.aspx"
text="Music"
tooltip="Music">
<asp:menuitem navigateurl="Classical.aspx"
text="Classical"
tooltip="Classical"/>
<asp:menuitem navigateurl="Rock.aspx"
text="Rock"
tooltip="Rock"/>
<asp:menuitem navigateurl="Jazz.aspx"
text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem navigateurl="Movies.aspx"
text="Movies"
tooltip="Movies">
<asp:menuitem navigateurl="Action.aspx"
text="Action"
tooltip="Action"/>
<asp:menuitem navigateurl="Drama.aspx"
text="Drama"
tooltip="Drama"/>
<asp:menuitem navigateurl="Musical.aspx"
text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</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" >
<!-- For the hover styles of the Menu control to -->
<!-- work correctly, you must include this head -->
<!-- element. -->
<head runat="server">
<title>Menu Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu Declarative Example</h3>
<!-- Use declarative syntax to create the -->
<!-- menu structure. Submenu items are -->
<!-- created by nesting them in parent menu -->
<!-- items. -->
<asp:menu id="NavigationMenu"
disappearafter="2000"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
font-names="Arial"
target="_blank"
runat="server">
<staticmenuitemstyle backcolor="LightSteelBlue"
forecolor="Black"/>
<statichoverstyle backcolor="LightSkyBlue"/>
<dynamicmenuitemstyle backcolor="Black"
forecolor="Silver"/>
<dynamichoverstyle backcolor="LightSkyBlue"
forecolor="Black"/>
<items>
<asp:menuitem navigateurl="Home.aspx"
text="Home"
tooltip="Home">
<asp:menuitem navigateurl="Music.aspx"
text="Music"
tooltip="Music">
<asp:menuitem navigateurl="Classical.aspx"
text="Classical"
tooltip="Classical"/>
<asp:menuitem navigateurl="Rock.aspx"
text="Rock"
tooltip="Rock"/>
<asp:menuitem navigateurl="Jazz.aspx"
text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem navigateurl="Movies.aspx"
text="Movies"
tooltip="Movies">
<asp:menuitem navigateurl="Action.aspx"
text="Action"
tooltip="Action"/>
<asp:menuitem navigateurl="Drama.aspx"
text="Drama"
tooltip="Drama"/>
<asp:menuitem navigateurl="Musical.aspx"
text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</form>
</body>
</html>
下面的代码示例演示如何以编程方式将对象添加到MenuItemChildItems根菜单项的集合中。
<%@ 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)
{
// Retrieve the root menu item from the Items
// collection of the Menu control using the indexer.
MenuItem homeMenuItem = NavigationMenu.Items[0];
// Create the submenu item.
MenuItem newSubMenuItem = new MenuItem("New Category");
// Add the submenu item to the ChildItems
// collection of the root menu item.
homeMenuItem.ChildItems.Add(newSubMenuItem);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemCollection Add Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemCollection Add Example</h3>
<asp:menu id="NavigationMenu"
orientation="Vertical"
target="_blank"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</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
' Retrieve the root menu item from the Items
' collection of the Menu control using the indexer.
Dim homeMenuItem As MenuItem = NavigationMenu.Items(0)
' Create the submenu item.
Dim newSubMenuItem = New MenuItem("New Category")
' Add the submenu item to the ChildItems
' collection of the root menu item.
homeMenuItem.ChildItems.Add(newSubMenuItem)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemCollection Add Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemCollection Add Example</h3>
<asp:menu id="NavigationMenu"
orientation="Vertical"
target="_blank"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</form>
</body>
</html>
注解
该MenuItemCollection类用于在控件中Menu存储和管理对象的集合MenuItem。 该 Menu 控件使用 MenuItemCollection 类在属性中 Items 存储其根菜单项。 此集合还用于 ChildItems 对象的属性 MenuItem ,以存储菜单项的子菜单项(如果有) ) (。
该 MenuItemCollection 类支持多种访问集合中项的方法:
使用该方法 GetEnumerator 创建可用于循环访问集合的枚举器。
使用该方法 CopyTo 将集合的内容复制到数组中。
可以通过添加和删除MenuItem对象以编程方式管理MenuItemCollection对象。 若要向集合中添加菜单项,请使用 Add 或 AddAt 方法。 若要从集合中删除节点,请使用 Remove、 RemoveAt方法或 Clear 方法。
备注
Menu当控件绑定到数据源时,每次绑定发生时,Items都会自动填充集合ChildItems。 绑定之间的集合的任何更改都将丢失。 若要保留这些更改,请更新数据源或每次绑定时手动重新生成集合。
该 MenuItemCollection 类包含属性和方法,可用于检索有关集合本身的信息。 若要了解集合中的项数,请使用该 Count 属性。 如果要确定集合是否包含特定 MenuItem 对象,请使用 Contains 该方法。 若要获取集合中对象的索引 MenuItem ,请使用 IndexOf 该方法。
构造函数
MenuItemCollection() |
使用默认值初始化 MenuItemCollection 类的新实例。 |
MenuItemCollection(MenuItem) |
使用指定的父菜单项(或所有者)初始化 MenuItemCollection 类的新实例。 |
属性
Count |
获取当前 MenuItemCollection 对象所含菜单项的数目。 |
IsSynchronized |
获取一个值,该值指示对 MenuItemCollection 对象的访问是否同步(线程安全)。 |
Item[Int32] |
获取当前 MenuItem 对象中指定索引处的 MenuItemCollection 对象。 |
SyncRoot |
获取一个对象,该对象可用于同步对 MenuItemCollection 对象的访问。 |
方法
Add(MenuItem) |
将指定的 MenuItem 对象追加到当前 MenuItemCollection 对象的末尾。 |
AddAt(Int32, MenuItem) |
将指定的 MenuItem 对象插入到当前 MenuItemCollection 对象的指定索引位置。 |
Clear() |
从当前 MenuItemCollection 对象中移除所有项。 |
Contains(MenuItem) |
确定指定的 MenuItem 对象是否在集合中。 |
CopyTo(Array, Int32) |
从目标数组的指定索引开始,将 MenuItemCollection 对象中的所有项复制到兼容的一维 Array 中。 |
CopyTo(MenuItem[], Int32) |
从目标数组的指定索引开始,将 MenuItemCollection 对象中的所有项复制到 MenuItem 对象的一维兼容数组。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetEnumerator() |
返回一个枚举数,该枚举数可用于循环访问当前 MenuItemCollection 对象中的项。 |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
IndexOf(MenuItem) |
确定集合中指定 MenuItem 对象的索引。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Remove(MenuItem) |
从 MenuItem 对象中移除指定的 MenuItemCollection 对象。 |
RemoveAt(Int32) |
从当前 MenuItem 对象中移除指定索引位置的 MenuItemCollection 对象。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
IStateManager.IsTrackingViewState |
获取一个值,该值指示 MenuItemCollection 对象是否正将更改保存到其视图状态。 |
IStateManager.LoadViewState(Object) |
加载 MenuItemCollection 对象先前保存的视图状态。 |
IStateManager.SaveViewState() |
将视图状态的更改保存到 Object。 |
IStateManager.TrackViewState() |
指示 MenuItemCollection 对象跟踪对其视图状态的更改。 |
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |