asp.net – 防止页面在回发后滚动

前端之家收集整理的这篇文章主要介绍了asp.net – 防止页面在回发后滚动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在根据CheckBoxList中的支票加入用户的分数.每次用户检查一个框时,都会将值X添加到整体得分中.当用户取消选中一个框时,从总分中减去值X.这里没有问题

我遇到的问题是,在CheckBoxList属性中使用AutoPostback选项强制页面加载到顶部,而不是停留在用户所在的位置,这意味着每次检查/取消选中后,它们必须保持向下滚动.有办法防止这种情况吗?

解决方法

Ajax解决方

当然,最好的方法是使用Ajax调用.该页面根本没有移动,数据只是更新. updatepanel是一个快速而简单的启动解决方案,而不是一个最佳的解决方案,但是如果你有一个简单的页面,这是一个很好的解决方案.

第二个解决方

第二个解决方案是使用锚#.你设置了你喜欢的点出现:

<a name="PointA"></a>

并且您使用该锚点调用页面为page.aspx#PointA.

第三个解决方

第三个解决方案是使用ASP.NET的内部JavaScript代码.在页面<%@ Page MaintainScrollPositionOnPostback =“true”%&gt ;. 或者在web.config上影响所有页面,< pages maintainScrollPositionOnPostBack =“true”/&gt ;. 或以编程方式System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;打开它并按要求关闭它. 使用jQuery 只有两行jQuery代码,您可以在发布后想要移动的点上创建一个漂亮的动画:

var WhereToMove = jQuery("#PointA").position().top;
jQuery("html,body").animate({scrollTop: WhereToMove },1000);

并将页面移动到此元素:

<a id="PointA" name="PointA"></a>

谷歌搜索

最后,您可以使用自定义JavaScript代码执行相同操作.互联网上有很多样本:https://www.google.com/?q=asp.net+remain+position

原文链接:https://www.f2er.com/aspnet/246613.html

猜你在找的asp.Net相关文章