2013-02-08 59 views
3

有很多代碼,所以我想用短語來解釋這個問題。我有一個母版頁,其中包含對JavaScript文件的所有引用,並且具有使用母版頁的頁面。我在我的頁面中使用更新面板,在更新面板中有一些表單,包括那個 - 具有回發功能(即dropdownlist)。問題是當狀態發生變化併發生部分回發時,由於這些JavaScript而具有某些功能和效果的表單會失去所有功能。任何幫助,將不勝感激。如何在UpdatePanel部分回傳後保留javascripts

+0

您可以查看以下鏈接http://jquerybyexample.blogspot.com/2010/09/use-jquery-and-ajax-with-aspnet-master.html – Sumant

回答

4

這是因爲在使用更新面板進行部分回發後,您需要重新初始化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