I file con estensione .ascx rappresentano i controlli personalizzati che hanno un interfaccia utente in HTML. Normalmente a questi file viene associato un'altro tipo di file: quelli con estensione .aspx.cs per C# (o .aspx.vb nel caso di VB.NET). Quest'ultimi contengono il codice sorgente vero e proprio, quello che - una volta compilato il tuo progetto web - andrà a finire nella libreria principale del progetto (nella cartella \bin).
Le soluzioni che offrono la possibilità di personalizzare l'aspetto delle pagine tramite i famosi "skin", di norma separano i file .ascx dal codice. In questo modo, isolano tutti i file che determineranno esclusivamente l'aspetto grafico all'interno di una apposita cartella. Modificando il codice HTML di questi file, il risultato sarà quello di lasciare invariato il funzionamento di base, ma di ottenere anche significative differenze nell'aspetto dell'interfaccia utente.
Quando il progetto "skinnabile" è ben realizzato, tutti gli aspetti grafici vengono implementati tramite l'HTML. In questo modo le personalizzazioni, anche per chi non conosce bene (o affatto) il linguaggio di programmazione lato server, risultato estremamente semplici.
Cosa sono i file .css? Si tratta dei Cascading Style Sheet, letteralmente dei "fogli di stile a cascata". Il loro scopo è quello di definire, attraverso uno standard noto a tutti i browser, tutti gli stili grafici di un documento web o di un intero sito. Per gli approfondimenti, vedi http://www.w3.org/Style/CSS/.
Infine, i file .xml sono normalmente utilizzati per gestire la configurazione dell'applicazione web. Nel caso di ASP.NET, ad esempio, esistono appositi file XML denominati web.config che definiscono tutti i parametri di avvio e funzionamento.