您的位置:首页 > Web前端 > JavaScript

ASP.NET中UpdatePanel的javascript脚本失效的问题

2012-02-06 16:21 405 查看
ASP.NET中UpdatePanel的javascript脚本失效的问题

问题:大概意思如下:

<UpdatePanel> <ContentTemplate> <asp:TextBox ID="aaa"/> </ContentTemplate> </UpdatePanel>

<script> $(document).ready(function(){ var id = "<%= aaa.ClientID%>"; $("#"+id).click(function(){ alert("aaa"); }); }); </script>

第一次点击TextBox是能弹出对话框,但是经过刷新之后点击就失效了。请问怎么解决?

回答: 因为Updatapanel没有postback,你的js不会重新加载。所以失效。你在你的页面加一段这样的代码就可以了: <script type="text/javascript" language="javascript"> var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function () { // re-bind your jquery events here

$(document).ready(function(){ var id = "<%= aaa.ClientID%>"; $("#"+id).click(function(){ alert("aaa"); }); }); }

); </script>

原文:http://zhidao.baidu.com/question/250731985.html

UpdatePanel 中js失效问题2010-06-21 18:02UpdatePanel来回往返不会保留 Javascript 或其他客户端技术(如 Adobe Flash)生成的任何效果。

因此在局部刷新之后要重新注册js

做法:

function EndRequestHandler() { //刷新之后要运行的js } function reload() { Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); } 在jquery的ready()中 $(documnet).ready( function() { reload(); } ) 原文:http://hi.baidu.com/a_longge2009/blog/item/9956cb23ca971ea94723e849.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: