在updatepanel上调用Jquery而部分回发

时间:2012-03-14 15:33:16

标签: javascript jquery ajax updatepanel postback

我对Jquery和updatepanel上的部分回发有一个非常奇怪的问题。

我所做的是在代码后面创建一个jquery逻辑并使用:

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

在转发器中创建Jquery Slider功能。然而,发生的事情是当我把它放在更新面板里面它运行正常并且jquery滑块工作但任何部分回发并且我失去了我可爱的jquery滑块功能,因为我需要在每次部分回发后重新绑定滑块功能。

如何使用类似的代码执行此操作,例如 Page.ClientScript.RegisterStartupScript(this.GetType(),“jsSlider”+ select.ClientID,sb.ToString());

还有另一种方式可以说 Page.ClientScript.EVERYPOSTBACK(this.GetType(),“jsSlider”+ select.ClientID,sb.ToString()); 或者什么?我愿意接受其他建议吗?

2 个答案:

答案 0 :(得分: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左右有更多关于此的详细信息。

答案 1 :(得分:0)

如果您仍然需要答案,则可以使用 ClientScript.RegisterStartupScript 来模拟UpdatePanel的部分回发。请尝试 ScriptManager.RegisterStartupScript