piu o meno potrebbe essere:
codice:
class CategorieMenu
{
public string url {get;set;};
public string text {get;set;};
public List<ProdottiMenu> sottoMenu {get;set;};
}
class ProdottiMenu
{
public string url {get;set;};
public string text {get;set;};
}
//Piu o meno il codice di creazione potrebbe essere...
public Page_Load()
{
List<CategorieMenu> menuItems = CaricaMenuDaDB();
Menu menuPrincipale = new Menu();
foreach(CategorieMenu cat in menuItems)
{
MenuItem catItem = CatToMenuItem(cat);
foreach(ProdottiMenu prd in cat)
{
MenuItem prdItem = ProdottoToMenuItem(prd);
catItem.Items.Add(prdItem);
}
menuPrincipale.Items.Add(catItem);
}
}
e si potrebbe refattorizzare ancora di piu ma è un buon punto da cui potresti partire...
magari è uno spunto da cui partire...