2010-04-03 45 views
4

我有一个手风琴控制内部的两个UpdatePanel的,布局是这样的:的UpdatePanel刷新一次

<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> 

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

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

更新

的问题似乎在于,当我把这个:

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> 

...(其它脚本) PATH =“HTTP://阿贾克斯。 googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js” />

</Scripts> 
</asp:ScriptManager> 

怎样才能重新绑定我在我的代码JQuery的事件?

+0

我需要看到更多的代码来帮助 – 2010-04-03 18:47:11

+0

你检查你是否得到任何JavaScript错误?你可以使用萤火虫或任何你喜欢做的。 – 2010-04-03 18:54:29

+0

啊,我发现错误似乎是在endRequestHandler部分调用的函数中。目前,当updatepanel刷新时,手风琴消失(即用于将div转换为手风琴的javascript不再执行)。我试图在endRequestHandler中执行它,虽然这可行,刷新停止。我用手风琴代码更新了我的帖子。 谢谢 – XSL 2010-04-03 19:38:17

回答

1

最后,我想我解决了它!几小时的代码耗尽了几行代码。这并不总是这样吗? :d 对于谁遇到这个线程的人,我说:

Sys.Application.add_init(pLoad); 

然后我创建了一个名为pLoad功能,包含了我的手风琴的JavaScript(在原来的职位),以及一对夫妇的其他功能。 到目前为止,事情似乎正在工作...