Problema della barra di scorrimento del pannello di aggiornamento Ajax
-
05-07-2019 - |
Domanda
Ho un pannello di aggiornamento all'interno del quale ho un datalist.
Questo pannello di aggiornamento si attiva ogni 1 secondo per recuperare i dati da db.
Ho mantenuto questo pannello di aggiornamento all'interno di un tag div abilitato allo scorrimento verticale.
Ma quando ricevo nuovi dati, la barra di scorrimento non si regola automaticamente !!!
Ho provato l'opzione maintainscrollback ma non funziona.
Esiste un'opzione per mantenere la barra di scorrimento nella posizione originale dopo l'attivazione del pannello di aggiornamento?
Soluzione
Ecco cosa preferisco evitare JavaScript, che deve regolare la posizione di scorrimento ogni aggiornamento / aggiornamento ...
Suppongo che tu abbia progettato una pagina come quella di seguito
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional/Always">
<ContentTemplate>
<div style="height: 400px/300px; overflow-y:scroll;">
<asp:DataList ID="DataList1" runat="server">
....
</asp:DataList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
Cambiarlo in qualcosa del genere dovrebbe occuparsi del problema di scorrimento
<div style="height: 400px/300px; overflow-y:scroll;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional/Always">
<ContentTemplate>
<asp:DataList ID="DataList1" runat="server">
....
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
Altri suggerimenti
Prova questo:
<script>
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(function(){
window.dTop = document.getElementById('divIdHere').scrollTop;
});
prm.add_endRequest(function(){
setTimeout(function(){
document.getElementById('divIdHere').scrollTop = window.dTop;
},100);
});
</script>