Uno dei problemi che si hanno con AJAX riguarda la gestione dei pulsanti Avanti e Indietro del browser. Se, ad esempio, si inserisce un controllo Wizard all’interno di un UpdatePanel, è possibile spostarsi tra i passaggi della procedura senza effettuare postback sincroni della pagina. Tuttavia, la pressione del pulsante Indietro nel browser non causa il ritorno allo step precedente, bensì il caricamento della pagina mostrata prima di quella contenente il Wizard: in altre parole, le interazioni basate su AJAX non determinano l’aggiornamento della cronologia del browser.
L’oggetto ScriptManager della versione 3.5 SP1 del .NET Framework introduce proprio il supporto alla cronologia del browser per le chiamate AJAX, attraverso il metodo AddHistoryPoint e l’evento Navigate. Dino Esposito ha scritto un esauriente articolo che spiega come utilizzare questa nuova API, che funziona indipendentemente dal browser (personalmente, ho provato con Internet Explorer e Firefox).