.net web 点击链接在页面指定位置显示DIV的问题

做了一个网页,放了两个DataList ,一个显示科室,一个显示科室中的人员,由于科室太多,一屏显示不全,为了在页面刷新时记住上次浏览位置,所以给页面加了MaintainScrollPositionOnPostback=True 属性。

问题来了:

记住浏览位置后,由于“科室人员”继续在页顶显示,这样就还需要于拉到顶部去查看或编辑,非常不方便,没有达到记住浏览位置的本意!

试了好多方法,在科室点击显示人员的时候执行JS控制DIV位置,但是效果却是“一闪而过”,继续回到页顶!跟踪代码单步执行才知道原来提交页面时先执行了JS,然后页面又PostBack了一下,所以得到了这样的结果!

 

于是在网上找页面刷新后执行JS的方法,发现了这样的函数

window.onbeforeunload();在页面PostBack时执行!

window.onunload();在离开页面时执行!

本以为找到了解决的方法,在第一个函数中加了相应的控制,但问题依旧没有解决!

最后搜索时发现在使用UpdatePanel时利用RegisterStartupScript函数加载JS,于是如下解决:

1、在科室点击时加入客户端JS函数,得到人员列表应显示的位置,保存在HideField中;

2、在页面刷新Load时添加如下语句:

ScriptManage.RegisterStartupScript(System.Web.UI.Page)HttpContext.Current.CurrentHandler,typeof(System.Web.UI,Page),"showWindow","自定义函数或者语句",true);

//

问题解决!

posted on 2014-01-14 17:05  文强 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Gerry-BJ/p/3519398.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值