Javascript 如何避免单击asp.net单选按钮时页面滚动

Javascript 如何避免单击asp.net单选按钮时页面滚动,javascript,asp.net,Javascript,Asp.net,我有一个asp.net单选按钮,当用户单击该单选按钮时,系统会向上滚动到页面顶部,为了避免出现这种情况,我使用了其他人提到的不同解决方案,如下面的解决方案,但问题是页面会滚动到页面顶部,然后返回到其原始位置。有没有防止滚动的解决方案 这是源代码: <asp:TableCell> <asp:RadioButton ID="rbSubscription" runat="server" OnCheckedChanged="HighlightSubscription" Aut

我有一个asp.net单选按钮,当用户单击该单选按钮时,系统会向上滚动到页面顶部,为了避免出现这种情况,我使用了其他人提到的不同解决方案,如下面的解决方案,但问题是页面会滚动到页面顶部,然后返回到其原始位置。有没有防止滚动的解决方案

这是源代码:

<asp:TableCell>
    <asp:RadioButton ID="rbSubscription" runat="server"  OnCheckedChanged="HighlightSubscription" AutoPostBack="true"/>
</asp:TableCell>

<%--Script to avoids Page Scroll--%>
<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>

$(函数(){
var f=$(“#”)型;
window.onload=函数(){
var position=parseInt(f.val());
如果(!isNaN(位置)){
$(窗口)。滚动顶部(位置);
}
};
window.onscroll=函数(){
var position=$(window.scrollTop();
f、 val(位置);
};
});

您可能只想设置为
True
并避免在此处重复使用轮子。感谢Cory的评论,不幸的是,使用此选项也会导致页面滚动到顶部并重新滚动到当前位置。使用UpdatePanel如何?不会滚动到顶部,因为回发将通过ajax调用page@albertsh:回发是整个页面的重新呈现和加载。除了禁用
AutoPostBack
、使用AJAX提交表单以及一些DOM操作来更新任何需要更改的内容之外,无法避免重新滚动的可见闪烁。这就是浏览器的工作方式,无论技术如何。您可能只想设置为
True
,避免在此处重复使用。感谢Cory的评论,不幸的是,使用此选项也会导致页面滚动到顶部并重新滚动到当前位置。使用UpdatePanel如何?不会滚动到顶部,因为回发将通过ajax调用page@albertsh:回发是整个页面的重新呈现和加载。除了禁用
AutoPostBack
、使用AJAX提交表单以及一些DOM操作来更新任何需要更改的内容之外,无法避免重新滚动的可见闪烁。这就是浏览器的工作方式,不管技术如何。