updatePanel导致JS失效的解决办法(转载)

时间:2014-05-26 09:15:39   收藏:0   阅读:313

吐槽下,维护别人之前做的项目好蛋疼,整个页面都是用微软的ajax框架。

 

今天给repeater用JS写一个hover事件

bubuko.com,布布扣
bubuko.com,布布扣
<script type="text/javascript">
        $(function(){
            $(.trhead).click(function(){
                $(this).next(.trcontent).find(.divcontent).slideToggle(fast);
            });
            $(.trhead).hover(function(){$(this).css("background",rgb(215,215,215));},
                function(){$(this).css("background",#fff);}
            );
        })
      
    </script>
bubuko.com,布布扣
bubuko.com,布布扣

结果 repeater翻到第二页后,效果失效了,也就是JS没了。

这个时候,就在

    protected void AspNetPager3_PageChanged(object sender, EventArgs e)
    {
        BindData();
        //绑定数据后重新注册一下JS事件
        ScriptManager.RegisterClientScriptBlock(up1, GetType(), "aa", "aa()", true);
    }

而这个aa()函数呢,当然啦,就是:

bubuko.com,布布扣
bubuko.com,布布扣
    <script type="text/javascript">

        function aa()
        {
            $(.trhead).click(function(){
                $(this).next(.trcontent).find(.divcontent).slideToggle(fast);
            });
            $(.trhead).hover(function(){$(this).css("background",rgb(215,215,215));},
                function(){$(this).css("background",#fff);}
            );
        }
    </script>
bubuko.com,布布扣
bubuko.com,布布扣

也就是把onload要执行的JS,放到一个方法aa()中,在分页绑定数据后,重新注册一下即可。

同理,当别的控件回传后,也需要重新注册下即可。

 

updatePanel导致JS失效的解决办法(转载),布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!