2012-03-14 20 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

相关问题