Sò che non è nulla di nuovo, ma questo è il mio diario dove ci scrivo quelle cose di cui dovrei ricordarmi.

Nella fattispecie, devo ricordarmi, quando scrivo in ASP.Net che:


1) Il ViewState, esisterà sempre e comunque ogni qual volta che esiste un controllo con l'attributo runat="server";il ViewState è disabilitale con la direttiva Page EnableViewState="false", ma sempre un minimo di "sporcizia" rimane;


2) I controlli che devono avere l'attributo runat="server" non possono essere creati dinamicamente, altrimenti l'eventuale codice javascript server che il .net framework deve aggiungere, non riesce ad aggiungerlo. Questo vale tanto per un controllo aggiunto ad una collection tal de tali, tanto che per le direttive Page.ClientScript.X che scrivono l'output html all'interno del form che contiene il runat (che se è dinamico non esiste).


3) Ci può essere una sola form con l'attributo runat="server". Una cazzata spaziale secondo me, e qui ci vuole tutta. Che cosa costava dare la possibilità di gestire in primis il nome del tag che .net si ostina a voler cambiare in quello schifoso aspnetForm, e in secondo luogo a permettere più form lato server? Voglio dire, la form che fa il submit sempre e solo una può essere, quindi se devo fare cose lato server, quando ti dò in pasto il submit semplicemente fai quello che devi fare e lascia che sia il programmatore a preoccuparsi di come dove e quando individuare i suoi bei eventi per fare quello che deve. Contorto, ma credo di essermi spiegato.

.... (da estendere quando mi ricordo altro).