UpdatePanel обновляется только один раз - PullRequest
4 голосов
/ 03 апреля 2010

У меня есть две панели обновления внутри элемента управления гармошкой, расположенные так:

<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 в моем коде?

1 Ответ

1 голос
/ 04 апреля 2010

Наконец, я думаю, что решил это!Несколько часов подряд для нескольких строк кода.Разве это не всегда так?: D Для людей, которые сталкиваются с этой темой, я добавил:

Sys.Application.add_init(pLoad);

Затем я создал функцию под названием pLoad, которая содержала JavaScript моего аккордеона (в оригинальном посте), а также несколько другихфункции.Пока что все работает ...

...