asp.net之UpdatePanel部分回发后如何保留javascript

daizhj 阅读:22 2024-11-01 17:39:52 评论:0

有很多代码,所以我想用文字简短地解释这个问题。我有一个母版页,其中包含对 javascript 文件的所有引用,并拥有使用母版页的页面。我在我的页面中使用更新面板,在更新面板内有一些表单,包括具有回发功能的表单(即下拉列表)。问题是当状态发生变化并发生部分回发时,由于这些 javascripts 具有一些功能和效果的表单,然后失去所有功能。任何帮助,将不胜感激。

请您参考如下方法:

这是因为在使用更新面板进行部分回发后,您需要重新初始化 javascript。这是一个通用示例

<script type="text/javascript">  
   // if you use jQuery, you can load them when dom is read. 
   $(document).ready(function () { 
       var prm = Sys.WebForms.PageRequestManager.getInstance();     
       prm.add_initializeRequest(InitializeRequest); 
       prm.add_endRequest(EndRequest); 
 
       // Place here the first init 
    });         
 
    function InitializeRequest(sender, args) { 
    } 
 
    function EndRequest(sender, args) { 
       // after update occur on UpdatePanel re-init what you need 
 
    } 
</script>  

相关问题:
Asp.Net UpdatePanel in Gridview Jquery DatePicker
How to get Id update panel that initial a request in javascript

网4之后你也可以简单的使用 pageLoad函数,类似于 OnLoad 函数,但由 asp.net 处理,在第一次页面加载时调用,但也会在每次 ajax 更新后调用。
function pageLoad() 
{ 
    // init here your javascript 
    // This is called when the page load first time 
    //  and called again each time you have an Update inside an UpdatePanel 
} 

引用: http://msdn.microsoft.com/en-us/library/bb386417(v=vs.100).aspx


标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号