c# - 在 PostBack 之后保持 gridview 中 div 的滚动条位置

标签 c# asp.net gridview scroll

为了在服务器回发后保持滚动条位置,我在 web.config 中使用了以下代码:

<pages maintainScrollPositionOnPostBack="true" >
</pages>

一切正常,但现在我有一个 gridview 封装在一个 div 中,div 中有一个滚动条(内部滚动条)。

当事件发生在 gridview 内的其中一行时,内部滚动条不会保持其原始位置,这与外部滚动条不同。

有什么想法吗?

最佳答案

供将来引用:

正常的做法是在web.config文件中写入如下内容:

  <system.web>
    <pages maintainScrollPositionOnPostBack="true" >
    </pages>
  </system.web>

这将保留所有网页的滚动条位置。

如果您在 gridview(或 div)中有滚动条,请使用以下脚本:

<script type="text/javascript">
    window.onload = function () {
        var strCook = document.cookie;
        if (strCook.indexOf("!~") != 0) {
            var intS = strCook.indexOf("!~");
            var intE = strCook.indexOf("~!");
            var strPos = strCook.substring(intS + 2, intE);
            document.getElementById("grdWithScroll").scrollTop = strPos;
        }
    }
    function SetDivPosition() {
        var intY = document.getElementById("grdWithScroll").scrollTop;
        document.cookie = "yPos=!~" + intY + "~!";
    }
</script>

div 必须如下所示:

<div id="grdWithScroll" …………  onscroll="SetDivPosition()">

http://michaelsync.net/2006/06/30/maintain-scroll-position-of-div-using-javascript-aspnet-20

关于c# - 在 PostBack 之后保持 gridview 中 div 的滚动条位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092150/

相关文章:

C# 来自 Ruby Wilson 得分

c# - Paypal 快速结帐和货币转换?

java - 从 GridView 到 HeaderGridView 的意外转换

javascript - 引导模式+ajax+jquery+验证+.net core 2.0

android - Android 中 GridView 的自定义适配器

c# - ASP.NET:何时以及如何在代码后面动态更改 Gridview header 文本?

c# - 分页无法正常工作

c# - 需要包含()相关实体但没有选择这样做

c# - 独立于 DataTable 存储 DataRow - RowNotInTableException

ASP.NET 菜单控件不考虑 IE 或 FF 中的填充值