2017年8月29日 星期二

[ASP.NET] 使用MaintainScrollPositionOnPostback="true" 在Chrome則會失效

在ASPNET中使用MaintainScrollPositionOnPostback="true",來達到Postback時頁面不要回到頂部。

<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false"  MaintainScrollPositionOnPostback="true" CodeFile="Default8.aspx.vb" Inherits="Default8" %>

在IE可以正常運行,但在Chrome則會失效。
解決方法:

<asp:HiddenField runat="server" ID="hfPosition" Value="" />

<script type="text/javascript">
    $(function () {
        var f = $("#<%=hfPosition.ClientID%>");
        window.onload = function () {
            var position = parseInt(f.val());
            if (!isNaN(position)) {
                $(window).scrollTop(position);
            }
        };
        window.onscroll = function () {
            var position = $(window).scrollTop();
            f.val(position);
        };
    });
</script>

沒有留言:

張貼留言