Rouven: .NET(2) + dynamisch Liste erzeugen

Hallo zusammen,

ich bräuchte da mal die Expertise von Leuten, die sich etwas mit ASP-Programmierung auskennen. Ich arbeite mich gerade in ASP.NET 2 ein. Seit meinem letzten Ausflug (altes ASP) hat sich etwas getan und dank eines Buches, das ich hier liegen habe, lerne ich gerade die ganzen Vorzüge von User Controls, Master, Code-Behind usw. kennen.
Nun steh ich vor einem Problem:
Ich möchte in meinem Master festlegen, dass ein Menü (<ul> verschachtelt) angezeigt wird. Dieses Menü bekommt seine Menü-Punkte aus einer C#-Klasse, die diese wiederum aus einer Datenbank ausliest.
Im Prinzip soll das ganze ein Baum werden, allerdings basiert der TreeView von ASP ja auf <table>, ich hätte das ganze halt lieber in ul+li.
Was ich schaffen würde ist, ein Bullet-List-Control im Page_Load-event mit ListItems zu befüllen, ja meinetwegen sogar mit Links als ListItem. Was ich aber nicht schaffe ist:
<ul>
<li><ul>
    <li>...
    </ul>
</ul>
Früher, als meine ASP-Seiten komplett linear abliefen hätte ich ein Response.Write genommen, aber jetzt verliere ich den Überblick, wo das eigentlich hinschreibt.

Folgendes bräuchte ist also:

  1. Der Master kennt einen Bereich, in dem er das Menü anzeigen kann - UserControl?
  2. Beim ersten Laden des User-Controls werden mit Menu.getRootItems die oberen Menüpunkte ausgelesen (Array).
  3. Für jeden Menüpunkt <li>:
       <a...><img...></a> mit einem +/- Zeichen zum Aufklappen
       <a...>Text</a> mit der eigentlichen Beschriftung.

Schaffe ich es, dafür ASP-Controls zu verwenden (insbesondere für die a-Tags) und damit die Click-Intelligenz von ASP zu nutzen, oder muss ich das zu Fuß machen, oder wie macht man sowas? Muss man das User-Control noch viel komplexer aus Listen und Links zusammen setzen?

Danke für hilfreiche Ratschläge!

MfG
Rouven

--
-------------------
ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(