Il controllo ListView di ASP .NET 3.5 è affetto da uno strano comportamento. Se viene popolato dinamicamente (ovvero richiamando il suo metodo DataBind) ed è configurato per l'utilizzo in combinazione con un DataPager, la prima volta che si preme il pulsante Next di quest'ultimo in realtà viene ricaricata la stessa pagina, come se la paginazione non avvenisse. Tutti i successivi clic sui link di navigazione, invece, funzionano correttamente.
Facendo una ricerca su Internet, sembra che si tratti di un problema noto. Fortunatamente, sono state proposte diverse soluzione all'inconveniente. Una delle più semplici consiste nell'aggiungere una chiamata al metodo DataBind nell'evento PreRender della pagina:
protected void Page_PreRender(object sender, EventArgs e)
{
ListView1.DataBind();
}
Il problema, invece, non si presenta se si associa in maniera statica il ListView ad un DataSource (ad esempio un SqlDataSource).