快速业务通道

关于updatepanel回传之后JS失效问题

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-10

关于这个问题困扰了很久了 刚开始使用的时候 由于整个页面都只有一个updatepanel,发现只要有它页面回传之后 开始加载的js就会失效,问了同学 群里的朋友 也都没能说的特别清楚的。

只能自己琢磨,于是发现在后台用ScriptManager.RegisterStartupScript(),这个可以解决 问题是 每次回传都要调用一下很麻烦,总觉得应该有更好的解决办法,可是自己能力有限也找不出来。

在后来发现只要控件不再updatepanel里边 那先前加载的JS就不会失效,于是总是想办法吧缩小updatepanel的范围,导致一个页面有很多的Updatepanel,更愁人。

今天又遇到这个问题了 于是又是goole有事百度的 看了很多种方法 发现了一个比较好的方法。

在EndRequestHandler的方法里可以有多个方法 这样问题就很好的解决了效果还是挺好的。

提供两个参考网站:http://msdn.microsoft.com/zh-cn/library/bb311028.aspx

  1. $(document).ready(function(){ 
  2.      SetBtnClass(); 
  3.      ReloadJs(); 
  4. }) 
  5.  
  6. function ReloadJs(){ 
  7.     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
  8.  
  9. function EndRequestHandler(){ 
  10.     SetBtnClass(); 
  11. function SetBtnClass(){ 
  12.   $(".hdyk-linkbutton").addClass("l-btn-default"); 
  13.   $(".hdyk-linkbutton-a").addClass("l-btn-selected"); 
  14.   $(".hdyk-linkbutton").click(function(){ 
  15.         $(".hdyk-linkbutton").removeClass("l-btn-selected"); 
  16.         $(this).addClass("l-btn-selected"); 
  17.   }); 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号