asp.net - MaintenanceScrollPositionOnPostback 属性不适用于 mozilla

标签 asp.net

MaintainScrollPositionOnPostback = true

它适用于 IE,但不适用于 mozilla(版本 9)

建议另一种独立于浏览器的保持滚动位置的方法..

谢谢xx

最佳答案

在这里找到答案:

http://weblogs.asp.net/andrewfrederick/archive/2008/03/04/maintain-scroll-position-after-asynchronous-postback.aspx

这里:

https://web.archive.org/web/20211020140248/https://www.4guysfromrolla.com/articles/111704-1.aspx

请告诉我这是否适合您!

<小时/>

编辑

由于我刚刚获得了链接答案,因此我实际上只是将代码片段粘贴到此处,以防这些链接消失:

来自http://weblogs.asp.net/andrewfrederick/archive/2008/03/04/maintain-scroll-position-after-asynchronous-postback.aspx :

<script type="text/javascript">
    var xPos, yPos;
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_beginRequest(BeginRequestHandler);
    prm.add_endRequest(EndRequestHandler);
    function BeginRequestHandler(sender, args) {
        xPos = $get('scrollDiv').scrollLeft;
        yPos = $get('scrollDiv').scrollTop;
    }
    function EndRequestHandler(sender, args) {
        $get('scrollDiv').scrollLeft = xPos;
        $get('scrollDiv').scrollTop = yPos;
    }
</script>

来自:https://web.archive.org/web/20211020140248/https://www.4guysfromrolla.com/articles/111704-1.aspx

<script language = "javascript">

    function sstchur_SmartScroller_GetCoords()
    {
        var scrollX, scrollY;

        if (document.all)
        {
            if (!document.documentElement.scrollLeft)
                scrollX = document.body.scrollLeft;
            else
                scrollX = document.documentElement.scrollLeft;

            if (!document.documentElement.scrollTop)
                scrollY = document.body.scrollTop;
            else
                scrollY = document.documentElement.scrollTop;
        }   
        else
        {
            scrollX = window.pageXOffset;
            scrollY = window.pageYOffset;
        }

        document.forms[formID].xCoordHolder.value = scrollX;
        document.forms[formID].yCoordHolder.value = scrollY;
    }

    function sstchur_SmartScroller_Scroll()
    {
        var x = document.forms[formID].xCoordHolder.value;
        var y = document.formsformID].yCoordHolder.value;
        window.scrollTo(x, y);
    }

    window.onload = sstchur_SmartScroller_Scroll;
    window.onscroll = sstchur_SmartScroller_GetCoords;
    window.onkeypress = sstchur_SmartScroller_GetCoords;
    window.onclick = sstchur_SmartScroller_GetCoords;

<script>

所有功劳都归功于那些为这些答案而努力工作的人。

关于asp.net - MaintenanceScrollPositionOnPostback 属性不适用于 mozilla,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607139/

相关文章:

c# - 调用 SSL 支付网关时出错 : "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel"

asp.net - 自动数据库同步

c# - 如何仅在程序集更改时使用 MSBuild 更新版本信息?

c# - XML 阅读器性能

c# - 从下拉列表中选择值并单击按钮时如何从数据库中删除

c# - 使用 Guid 和自定义表名称与 Asp.net Identity 1.1 Alpha 创建自定义实现

c# - 从 asp.net 创建 Word 文档需要安装 MS Word 吗?

c# - Webforms 登录控制和 IE 10

c# - 如果 HTTP 是无状态的,那么 ASP.NET MVC 如何支持 session ?

c# - 在 asp.net 中读/写 Office 365 文档