📜  asp.net 停止页面在点击时跳转到顶部 - C# (1)

📅  最后修改于: 2023-12-03 14:39:22.828000             🧑  作者: Mango

ASP.NET 停止页面在点击时跳转到顶部 - C#

当用户在 ASP.NET 页面中点击链接或按钮时,页面通常会自动滚动到顶部。这可能会让用户迷惑,尤其是当他们正在查看较长的页面时。本文将介绍如何在 ASP.NET 中停止页面在点击时自动滚动到顶部。

解决方法

首先,可以通过以下脚本禁用页面在回传期间自动滚动到顶部:

<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_beginRequest(function () {
        prm._scrollPosition = null;
    });
</script>

上述脚本使用 ASP.NET AJAX 的 PageRequestManager 类,该类在发起回传请求时调用 add_beginRequest() 方法。在此方法中,prm._scrollPosition 属性被设置为null,以确保页面不会在处理回传请求时滚动到顶部。

如果使用 jQuery,可以使用以下代码:

$(document).ready(function () {
    var form = $('form');
    form.on('submit', function () {
        form.scrollLeft(0);
        form.scrollTop(0);
    });
});

上述代码在页面加载完成时绑定了一个提交事件,当用户提交表单时,它将让表单向左和向上滚动到顶部。

结论

在 ASP.NET 中防止页面自动滚动到顶部非常简单。只需要使用上述脚本或代码即可。这样可以让你的用户更容易地与你的页面进行交互,而不会在页面回传时感到困扰。