Back to Devexpress

ASPxMenuBase.Items Property

aspnet-devexpress-dot-web-dot-aspxmenubase-50995b61.md

latest4.4 KB
Original Source

ASPxMenuBase.Items Property

Gets a collection that contains menu items of the menu’s root level.

Namespace : DevExpress.Web

Assembly : DevExpress.Web.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
public MenuItemCollection Items { get; }
vb
Public ReadOnly Property Items As MenuItemCollection

Property Value

TypeDescription
MenuItemCollection

A MenuItemCollection that contains the root level menu items of the current menu control.

|

Remarks

Use the Items property (collection) to access menu items of the current menu control’s root level, if any. To access menu items further down the menu tree, use the MenuItem.Items property of a subsequent menu item. If the Items property is the null reference ( Nothing in Visual Basic), the current menu does not have any menu items.

The Items property can be also used to programmatically manage the root menu items of the current menu item. You can add, insert, remove, retrieve, and modify MenuItem objects from the collection. Any updates to the collection will be automatically reflected in the menu control the next time the page is refreshed.

Example

The code sample below demonstrates how to populate an ASPxMenu control with items manually, in unbound mode. The image below shows the result.

csharp
protected void Page_Load(object sender, EventArgs e)
{
     if (!IsPostBack) {
          CreateMenu();
     }
}

//Create Menu initial structure. 
void CreateMenu() {
     string[] Items = { "Home", "News", "Products", "Client Center" };
     foreach (string ItemText in Items) {
          MyMenu.Items.Add(ItemText);
     }
     MyMenu.Items.FindByText("News").Items.Add("Subscriptions");
     MenuItem[] ProductsItems = { 
          new MenuItem("Downloads"), 
          new MenuItem("Support"), 
          new MenuItem("Order") 
     };
     MyMenu.Items.FindByText("Products").Items.Add(ProductsItems);
}

//Add a new item
protected void btnAddItem_Click(object sender, EventArgs e) {
     if ((MyMenu.SelectedItem != null) && (tbItemName.Text != "")) {
          MyMenu.SelectedItem.Items.Add(tbItemName.Text);
     }
}
vb
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
     If (Not IsPostBack) Then
          CreateMenu()
     End If
End Sub

'Create Menu initial structure. 
Private Sub CreateMenu()
     Dim Items() As String = { "Home", "News", "Products", "Client Center" }
     For Each ItemText As String In Items
          MyMenu.Items.Add(ItemText)
     Next ItemText
     MyMenu.Items.FindByText("News").Items.Add("Subscriptions")
     Dim ProductsItems() As MenuItem = { New MenuItem("Downloads"), New MenuItem("Support"), New MenuItem("Order") }
     MyMenu.Items.FindByText("Products").Items.Add(ProductsItems)
End Sub

'Add a new item
Protected Sub btnAddItem_Click(ByVal sender As Object, ByVal e As EventArgs)
     If (MyMenu.SelectedItem IsNot Nothing) AndAlso (tbItemName.Text <> "") Then
          MyMenu.SelectedItem.Items.Add(tbItemName.Text)
     End If
End Sub
aspx
<dx:ASPxMenu ID="MyMenu" runat="server" AllowSelectItem="True">
</dx:ASPxMenu>


<dx:ASPxTextBox ID="tbItemName" runat="server" Width="170px">
</dx:ASPxTextBox>


<dx:ASPxButton ID="btnAddItem" runat="server" onclick="btnAddItem_Click" Text="Add Subitem">
</dx:ASPxButton>

See Also

Items

js-ASPxClientMenuBase.GetItem

js-ASPxClientMenuItem.GetItem

ASPxMenuBase Class

ASPxMenuBase Members

DevExpress.Web Namespace