Ciao Pietro.
Scusa la domanda, ma perchè dovrei ricrearli anche quando non sono richiesti?

Mi spiego meglio.
Per creare questi link dovrei andare a fare una query sul database e creare dinamicamente un'oggetto HtmlTable, con tutti gli HtmlTableRow, HtmlTableCell e altri che alla fine conterranno questi link e altro testo. Se l'utente non ha richiesto di visualizzare questi dati, la tabella comunque resterebbe con proprietà Visible = false e di fatto non verrebbe generato neanche il codice html per la sua visualizzazione.
E' un inutile spreco di risorse, non ti pare?

Non sono un senjor in ambiente .net, probabilmente mi sfugge qualcosa...