سؤال

ولقد لوحة تحديث واحد داخل الذي لدي Datalist على.

وهذه اللوحة تحديث مشغلات كل 1 ثانية لاسترداد البيانات من ديسيبل.

ولقد حافظت هذه اللوحة تحديث داخل التمرير العمودي تمكين شعبة العلامة.

ولكن عندما أحصل على بيانات جديدة، شريط التمرير لا تتكيف تلقائيا!

ولقد حاولت الخيار maintainscrollback ولكن لا يعمل.

هل هناك أي خيار للحفاظ على شريط التمرير إلى مكانها الأصلي بعد مشغلات updatepanel؟

هل كانت مفيدة؟

المحلول

وهنا هو ما انا افضل لتجنب جافا سكريبت، التي تحتاج إلى ضبط الموقف التمرير كل والتحديث / التحديث ...

وأعتقد يجب أن يكون تصميم الصفحة مثل أدناه

<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>

وتغييره إلى بعض شيء من هذا القبيل يجب أن تأخذ الرعاية من قضية التمرير

<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>

نصائح أخرى

يرجى حاول هذا:

<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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top