Skip to main content

ASP.NET – MantainScrollPositionOnPostback su Chrome e altri browser

Mantenere (o per meglio dire, ripristinare) la posizione della scrollbar della pagina in conseguenza di un postback è una funzionalità indispensabile per qualsiasi pagina contenente un form. Per anni in ASP.NET è stato possibile ottenere questo effetto aggiungendo un semplice parametro nella propria pagina/WebForm/MasterPage:

A livello di web.config<pages maintainScrollPositionOnPostBack="true" />

A livello di pagina<%@ Page MaintainScrollPositionOnPostback="true" %>

A livello di codicePage.MaintainScrollPositionOnPostBack = true;

Sfortunatamente questi metodi, oltre a non essere disponibili con Razor, non sono più compatibili con la maggior parte dei browser recenti. Nonostante ASP.NET consenta ancora, tramite i Browser Definition File, la possibilità di impostare funzionalità specifiche per ciascuno di essi, è senz’altro preferibile adottare una soluzione pienamente compatibile con l’aiuto di un semplice script basato sul framework jQuery.

Questa è la soluzione specifica per WinForms:

Mentre questa è quella pensata per Razor (nonché per qualsiasi altra pagina web):

Inutile dire che, in entrambi i casi, l’elemento input iniziale (asp:HiddenField nella versione WinForms) va inserito all’interno dell’elemento form su cui viene eseguito il Postback.

In alternativa all’elemento HTML <input>  potete anche utilizzare l’helper method equivalente di Razor, ovvero:

 

 

RELATED POSTS

Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane.

Close
Leggi articolo precedente:
VMware 10 e Windows Update KB2995388: Not enough physical memory available

Gli utenti che utilizzano la versione 10 di VMware Player o Workstation sotto Windows e tengono aggiornato il proprio sistema incontreranno molto...

Chiudi