如何在回发后停止默认滚动?

时间:2015-05-15 05:38:20

标签: javascript c# jquery asp.net

我希望在回发后滚动到顶部。在我的登录页面中,当我单击登录按钮时,如果有一些验证错误消息,则它会滚动到底部。实际上并不是它向下滚动到第一个文本字段。我想停止默认滚动并想要滚动顶部。为此,我使用以下代码:

<script type="text/javascript">

    jQuery(document).ready(function () {

    jQuery("#ScrollTop").val(0);

    var prm = Sys.WebForms.PageRequestManager.getInstance();

    prm.add_endRequest(function (s, e) {

        jQuery("#ScrollTop").val(0);

        window.scrollTo(0, 0);

        $('html, body').animate({ scrollTop: 0 }, 'fast');

       // alert('Postback end!');

    });

    prm.add_beginRequest(function (s, e) {

        jQuery("#ScrollTop").val(0);

        window.scrollTo(0, 0);

        $('html, body').animate({ scrollTop: 0 }, 'fast');

    });

});

此代码工作正常,但在endRequest页面滚动到底部之后。通过使用此代码页,可以滚动到页面的顶部和中间。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

如果是C#和asp.net,您可能会在名为MaintainScrollPositionOnPostBack

的属性之后

https://msdn.microsoft.com/en-us/library/system.web.ui.page.maintainscrollpositiononpostback(v=vs.110).aspx