painel de atualização Ajax questão barra de rolagem
-
05-07-2019 - |
Pergunta
Eu tenho um painel interno de atualização que tenho datalist.
Este painel de atualização dispara a cada 1 segundo para recuperar os dados do banco de dados.
Eu mantive este painel de atualização dentro de um deslocamento vertical habilitado div tag.
Mas quando eu chegar novos dados, a barra de rolagem não é ajustando automaticamente !!!
Eu opção maintainscrollback mas não o seu trabalho.
tentouExiste alguma opção para manter a barra de rolagem para a sua posição original após os gatilhos UpdatePanel?
Solução
Aqui está o que eu prefiro evitar JavaScript, que precisa ajustar a posição de rolagem cada atualização / update ...
Eu acho que você deve ter projetado página como abaixo
<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>
Alterar-lo para alguma coisa como esta deve cuidar do problema de rolagem
<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>
Outras dicas
Por favor, tente o seguinte:
<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>