У меня есть элемент управления, в котором есть список элементов с подпунктами. Мне нужна рекурсивная функция, которая собирает подпункты.
например, как мне собрать и повторить эту коллекцию, которая имеет подэлементы?
такое ArrayList MenuItems подходящий тип для использования?
<myControl:Menu id="MyControl" runat="server">
<mycontrol:MenuItem Text="Hellow World">
<mycontrol:MenuItem Text="Hellow World">
<mycontrol:MenuItem Text="Hellow World" />
</myControl:menuItem>
</myControl:menuItem>
</myControl:Menu>
Вот управление:
public class QuickControl: WebControl
{
private ArrayList MenuItems;
[
Category("Behavior"),
Description("The contacts collection"),
DesignerSerializationVisibility(
DesignerSerializationVisibility.Content),
Editor(typeof(MenuCollectionEditor), typeof(UITypeEditor)),
PersistenceMode(PersistenceMode.InnerDefaultProperty)
]
public ArrayList MenuItems
{
get
{
if (MenuList == null)
{
MenuList = new ArrayList();
}
return MenuList;
}
}
// The contacts are rendered in an HTML table.
protected override void RenderContents(
HtmlTextWriter writer)
{
Table t = CreateContactsTable();
if (t != null)
{
t.RenderControl(writer);
}
}
}