У меня есть две панели обновления внутри элемента управления гармошкой, расположенные так:
<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 в моем коде?