UpdatePanel 只刷新一次

Posted

技术标签:

【中文标题】UpdatePanel 只刷新一次【英文标题】:UpdatePanel refreshes only once 【发布时间】:2011-02-04 01:25:25 【问题描述】:

我在手风琴控件中有两个更新面板,布局如下:

<accordion>
   <first pane content>
      <updatepanel UpdateMode="conditional">
         <contenttemplate>...</contenttemplate>
         <triggers>...</triggers>
      </updatepanel>
   </first pane content>

   <second pane content>
       <updatepanel>
          <contenttemplate>...</contenttemplate>
          <triggers>...</triggers>
       </updatepanel>
  </second pane content>

</accordion>

面板更新一次,但之后就不再更新。如果我刷新页面,那么我可以看到更新的信息。这意味着数据库正在更新,但更新面板没有刷新(在第一次刷新之后)。为什么会这样?

这几天一直困扰着我,所以任何建议都将不胜感激。 谢谢!

更新

当我这样称呼时,问题似乎在于:

Sys.require(Sys.components.accordion, function() 
                    $("#acca_profile").accordion(
                        HeaderCssClass: "acc_header",
                        HeaderSelectedCssClass: "acc_selectedheader",
                        FadeTransitions: true,
                        suppressHeaderPostbacks: true,
                        requireOpenedPane: false
                    );



                );

endRequestHandler 函数中。但是,如果我不调用它,那么应该转换为手风琴的 div 不再是手风琴。

更新 2

经过更多的工作,我认为问题可能在于 Jquery 在部分回发后没有重新绑定事件。许多解决方案声称您必须注册客户端脚本,但我在我的 aspx 页面顶部有这个:

<asp:ScriptManager runat="server" EnablePageMethods="true">
<Scripts>

...(其他脚本) 路径="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" />

</Scripts>
</asp:ScriptManager>

如何在我的代码中重新绑定 JQuery 事件?

【问题讨论】:

我需要查看更多代码来提供帮助 您是否检查过您是否收到任何 javascript 错误?您可以使用 firebug 或任何您喜欢的方式。 啊,我发现错误似乎出现在 endRequestHandler 部分中调用的函数中。目前,当更新面板刷新时,手风琴消失(即不再执行用于将 div 转换为手风琴的 javascript)。我尝试在 endRequestHandler 中执行它,虽然这有效,但刷新停止了。我已经用手风琴代码更新了我的帖子。谢谢 【参考方案1】:

最后,我想我已经解决了!几行代码就浪费了几个小时。不总是这样吗? :D 对于遇到此线程的人,我补充说:

Sys.Application.add_init(pLoad);

然后我创建了一个名为pLoad 的函数,其中包含我的手风琴javascript(在原始帖子中)以及其他几个函数。 到目前为止,一切似乎都在发挥作用......

【讨论】:

以上是关于UpdatePanel 只刷新一次的主要内容,如果未能解决你的问题,请参考以下文章

分页显示的时候如何让页面不刷新

使用 UpdatePanel 动态刷新 HTML 表中的行

webforms : 确定 updatepanel 中的哪个控件触发刷新

AJAX中UPDATEPANEL配合TIMER控件实现局部无刷新

UpdatePanel 中的 FileUpload 控件而不刷新整个页面?

updatePanel 局部刷新JS不执行解决办法