在javascript中仅为一个updatepanel生成ajax回发

时间:2011-02-15 19:52:07

标签: asp.net ajax

当我点击一个按钮时,我的updatepannel中的内容会发生变化。该按钮的ID被设置为updatepannel的触发器,因此其他updatepannel不受影响。 如何用页面加载事件替换buttonclick事件?

有没有办法将pageload javasript事件指定为updatepannel的触发器?

1 个答案:

答案 0 :(得分:0)

无法将pageLoad()注册为触发器,但您可以在该函数中调用__doPostBack()来强制UpdatePanel自行刷新。但是,如果你不小心,那将导致无限循环,因为当部分回发完成时也会调用pageLoad()

解决该问题的一种方法是在刷新面板之前设置一个标志,并在window对象中保留该标志,以便它能够在部分回发中存活:

function pageLoad()
{
   if (!this.panelRefreshed) {
       this.panelRefreshed = true;
       __doPostBack("yourUpdatePanelClientID", "");
   }
}