質問

データリストがある更新パネルが1つあります。

この更新パネルは、1秒ごとにトリガーしてdbからデータを取得します。

この更新パネルは、垂直スクロール対応のdivタグ内に保持しています。

しかし、新しいデータを取得しても、スクロールバーは自動的に調整されません!!!

crollbackオプションを維持しようとしましたが、機能しません。

updatepanelがトリガーされた後、スクロールバーを元の位置に維持するオプションはありますか?

役に立ちましたか?

解決

ここでは、JavaScriptを避けることを好みます。JavaScriptを使用すると、更新/更新のたびにスクロール位置を調整する必要があります...

次のようなページを設計している必要があります

<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