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?

È stato utile?

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top