Dove sta il codice C#, VB.NET ecc di una pagina ASP.NET ? Dipende, con Visual Studio .NET 2002/3 sta in un file separato (code-behind), con Web Matrix sta insieme al codice HTML (code-inside) mentre in Visual Studio .NET 2005 (Whidbey) sta sia di qua che di la (code-beside). Quattro personaggi di rilievo hanno dato la loro risposta su quale tecnica sia, a parer loro, la migliore.
La spiegazione di Smith non mi convince pienamente. Provate a mettere un designer HTML, che non ha competenze su .NET, a modificare le pagine ASPX. Se poi ci sono gli user controls il divertimento è assicurato. Molto meglio un template di partenza con la libreria grafica e far fare le pagine ASPX ai dev.
C'è poi il problema della duplicazione dei sorgenti. Con VS.NET ogni pagina aspx consta di tre files: aspx, resx, e cs (o vb, ...). In effetti è abbastanza pesante per progetti di grosse dimensioni (che VS.NET fa un pò fatica a gestire - la soluzione ? Eccola qui).
Un'altro aspetto ancora non molto elegante dei ASP.NET, è il fatto che la pagina aspx è una classe che non eredita da Page, ma dalla nostra classe (che eredita da Page). Un doppio strato di classi pur essendo, di fatto, lo stesso concetto logico.
Insomma, ci tocca attendere Whidbey, ehm, Visual Studio .NET 2005 :-)