#asp.net #c#-4.0
#asp.net #c #-4.0
Вопрос:
На моей странице есть кнопки вверху. Я хотел бы добавить подменю к этим кнопкам:
protected void AddMenuItems()
{
// Check privledges and add links to admin pages accordingly.
// List adds pages in order of user precedence.
if (_cu.IsUser)
{
NavigationMenu.Items.Add(new MenuItem("Generate UserIDs", "Generate UserIDs", null, "~/GenPrefixList.aspx"));
}
}
Есть ли способ, которым я могу добавить подменю к пункту?
Ответ №1:
Да, у каждого MenuItem
есть ChildItems
коллекция, в которую вы можете добавить неопределенное количество элементов.
protected void AddMenuItems()
{
// Check privledges and add links to admin pages accordingly.
// List adds pages in order of user precedence.
if (_cu.IsUser)
{
var newItem = new MenuItem("Generate UserIDs", "Generate UserIDs", null, "~/GenPrefixList.aspx");
var subItem = new MenuItem("Sub Menu Item", "Submenu Item", null, "page.aspx");
newItem.ChildItems.Add(subItem);
NavigationMenu.ChildItems.Add(newItem);
}
}
«Пункт подменю» будет дочерним элементом «Geneate UserIds», который является дочерним элементом меню навигации.
Обновление: Items
Ссылка в вашем коде должна быть ChildItems
. Items
используется ли коллекция для меню приложений Windows; вы добавили ASP.NET тег итак, я предполагаю, что это веб-приложение.
Комментарии:
1. ‘System.Web.UI.WebControls. MenuItem’ не содержит определения для ‘Items’ и никакого метода расширения ‘Items’, принимающего первый аргумент типа ‘System.Web.UI.WebControls. Удалось найти MenuItem’ (вам не хватает директивы using или ссылки на сборку?)
2. … вы делаете это в конструкторе форм или ASP.NET ? Если ASP.NET , затем удалите
System.Windows.Forms.MenuItem
ссылку. Я скопировал ваш код, но в этом случаеItems
должно бытьChildItems
.