【问题标题】:Calling Jquery whilst partial postback on updatepanel在更新面板上部分回发时调用 Jquery
【发布时间】:2023-03-23 11:25:01
【问题描述】:

我在 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()); 之类的吗?我愿意接受其他建议吗?

【问题讨论】:

标签: javascript jquery ajax updatepanel postback


【解决方案1】:

您可以在前端代码的 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 处有更多关于此的详细信息。

【讨论】:

    【解决方案2】:

    如果您仍然需要答案,可以使用 ClientScript.RegisterStartupScript 的类似物用于 UpdatePanel 的部分回发。请尝试 ScriptManager.RegisterStartupScript

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多