secondo me il tutto dipende da una buona organizzazione dei files sul server.
se il percorso segue la stessa logica delle cartelle che hai sul server, ti basta un'istruzione ServerMapPath() per recuperare il percorso sotto forma di stringa, che poi puoi manipolarti e rappresentare come vuoi.
Sono cosi avanti che quando guardo indietro vedo il futuro.