2012-03-14 44 views
0

我在jquery上有一個很奇怪的問題,在updatepanel上有部分回發。調用jquery,同時在updatepanel上部分回發

我所做的在代碼中創建一個jquery邏輯後面,並用於:

Page.ClientScript.RegisterStartupScript(this.GetType(), 「jsSlider」 + select.ClientID,sb.ToString());

在中繼器中創建Jquery Slider功能。然而,最新發生的事情是,當我把它放在updatepanel裏面時,它運行正常,jquery滑塊可以工作,但是任何部分回發,我失去了我可愛的jQuery滑塊功能,因爲我需要在每次部分回發後重新綁定滑塊功能。

我該如何做到這一點使用類似的代碼,如Page.ClientScript.RegisterStartupScript(this.GetType(),「jsSlider」+ select.ClientID,sb.ToString());

是否有另一種說法Page.ClientScript.EVERYPOSTBACK(this.GetType(), 「jsSlider」 + select.ClientID,sb.ToString());什麼的?我接受其他建議?

+0

您是否嘗試過使用AjaxManager? – 2012-03-14 15:41:01

+0

什麼是Ajax Manager? – user929153 2012-03-14 15:46:01

+0

如果你使用Telerik,AjaxManager是一個可以用來做你想做的工具,請看這裏:http://demos.telerik.com/aspnet-ajax/ajax/examples/manager/firstlook/defaultcs。 aspx – 2012-03-14 15:50:09

回答

0

您可以在前端代碼的javascript中使用「pageLoad」功能。 pageLoad函數在初始頁面加載和每次部分回發之後被調用。如果有些事情只需在初始頁面加載時調用,則仍然希望將它們放入文檔中。

<script type="text/javascript"> 
    function pageLoad() 
    { 
     //... 
     //anything you want to happen every time the page loads or after a partial postback 
     //... 

     //your javascript here... below an example of using jquery on some asp.net control. 
     $('#<%= select.ClientID %>').foo('bar'); 

    } 
</script> 

http://www.asp.net/ajax/documentation/live/overview/AJAXClientEvents.aspx有關於此的大約1/3的一些細節。

0

如果您仍然需要這個答案,那麼可以使用ClientScript.RegisterStartupScript來模擬UpdatePanel的部分回發。改爲使用ScriptManager.RegisterStartupScript

相關問題