繁体   English   中英

在带有母版页的 div 中滚动 position

[英]scroll position in div with master page

我在内容标签中有一个 div 标签,因为我正在使用具有 forms 和正文标签的母版页。

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">

  <div id="xxx"  style="overflow:scroll; height:450px;">

     <asp:GridView ID="GridView1" runat="server" ...>

     </asp:GridView>

  </div>
</Content>

我希望在发生任何回发时保持 div 的滚动 position 。

当我搜索它时有 jscripts,但我不知道如何将它们与母版页一起应用。

如果有更简单的方法,请提供帮助。 或者如何在上面的代码中使用 javascript。

任何帮助表示赞赏..谢谢

您可以使用 AJAX 删除回发,这将保留您的 position。 更具体地说,您可以查看 UpdatePanel 控件。

更新:

非 AJAX 解决方案是在您的页面标记中添加以下属性。

<%@ Page MaintainScrollPositionOnPostback="true" %>

试试这个它对我有用。

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    <div id="divScroll" style="overflow:auto; height:450px;">  
        <asp:GridView ID="GridView1" runat="server" ...>
        </asp:GridView>   
    </div> 
</Content> 
<script type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);               
</script>
</asp:UpdatePanel>

javascript 文件添加以下代码:

var scrollTop;
function BeginRequestHandler(sender, args) 
{
    var m = document.getElementById('divScroll');
    scrollTop = m.scrollTop;
}
function EndRequestHandler(sender, args) {
    var m = document.getElementById('divGrid');
    m.scrollTop = scrollTop;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM