具有多个Updatepanel的ASP.NET AJAX pageLoad()

时间:2009-11-16 07:08:13

标签: asp.net-ajax updatepanel

问候,

我正在与一些正在使用更新面板开发应用程序的人一起工作。

我想在文本字段上使用jQuery datepicker,该文本字段是可以通过此更新面板多次添加的行的一部分,我已经使用下面的JavaScript成功运行了:

function pageLoad(sender, args)
{
  if(args.get_isPartialLoad())
  {
      $(".datepicker").datepicker({ //rebind to all step datepickers
      duration: ''
      });
  }
}

但是,此页面上有多个更新面板,因此当它们全部更新时会被触发 - 是否有添加参数或类似参数的方法,这样只有在需要特定事件时才触发?

谢谢, 克里斯

2 个答案:

答案 0 :(得分:1)

如果没有代码示例,很难确切地看到你正在做什么,但有一点需要考虑:你是否确保你的UpdatePanel只在需要时更新,如UpdateMode参数所设置的那样?

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">

UpdateMode默认为始终,这意味着如果页面上有许多UpdatePanel,如果其中任何一个更新,它们都会更新,这通常不是什么你想要的。

答案 1 :(得分:1)

PageRequestManager的pageLoaded事件有更多信息。 args具有get_panelsUpdated和get_panelsCreated(用于嵌套更新面板)属性。您可以使用它来确定哪些UpdatePanel已更新。您可以将更新面板的div本身传递到jquery选择器中,以仅过滤到其中的元素。