In asp.net la creazione dinamica dei controlli può essere fatta anche nell'onload con le dovute precauzioni, comunque è spesso una cosa infernale :D te lo dico perchè ci ho messo le mani più volte e sono giunto a conclusione che asp.net non è fatto per fare controlli dinamici.
Comunque leggiti questo (http://weblogs.asp.net/infinitiesloop/archive/2006/10/16/TRULY-Understanding-Dynamic-Controls-_2800_Part-4_2900_.aspx) è la quarta parte ma ci sono i link alle prime 3, è un bellissimo articolo che spiega VERAMENTE TUTTO.
poi naturalmente questo (http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx) che spiega TUTTO TUTTO sul viewstate ;)
Se dopo averli letti hai ancora voglia di fare controlli dinamici :D buona fortuna. Per mia esperienza personale purtroppo diventa poco manutenibile, preferisco usare JQuery e fare un reale partial rendering delle varie parti della pagina con il viewstate completamente disabilitato e tutte richieste Get se possibile.
Se il viewstate è veramene (e sifnifica che hai misurato veramente) il tuo problema, prova a lasciarlo sul server tipo in un db o su file, per lo meno diminuisci la banda occupata e non hai problemi di viewstate.
Sempre per esperienza le prestazioni nel web le aumenti mostruosamente usando consapevolmente la cache e spostando alcune operazioni molto comuni tutto su lato client interagendo con il server solamente con dei servizi (asmx o WCF).
Detto questo, in bocca al lupo :D
Alk.
--
Continua ciò che hai cominciato e forse arriverai alla cima, o almeno arriverai in alto ad un punto che tu solo comprenderai non essere la cima. (Seneca)
