ASP Tabpanel постбэк только на одной вкладке - PullRequest
0 голосов
/ 06 ноября 2008

У меня есть вкладка с элементом управления календарем на 4-й вкладке, но когда я выбираю дату, обратная передача заставляет вкладку вернуться на первую вкладку вместо 4-й, с которой она появилась. Есть ли способ заставить его вернуться на вкладку, на которой включен элемент управления календаря, и не вернуться на первую вкладку?

Я знаю, что установка autoPostback на true для TabContainer сделает это, но это означает, что он перезагружается при каждом изменении вкладки, а не только той, которую я хочу.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2008

Вот лучшая практика, которую я нашел.

Если другие вкладки на панели вкладок не требуют обновления, поместите содержимое каждой панели на панель обновления. Если вам нужно обновить другие панели, вы можете вызвать метод программно, чтобы обновить их.

Для этого есть две веские причины: 1.) Поместив панели обновления во вкладки, вы получите меньше битов для возврата с сервера. 2.) Программный вызов методов обновления позволяет вам лучше понять, что именно вы предоставляете конечному пользователю, и вы не забудете обновить данные.

Помните, что если вы используете несколько панелей, чтобы изменить режим обновления с всегда на условный, чтобы на клиенте обновлялась только соответствующая информация.

Также, если вы хотите поместить весь элемент управления панели вкладок в панель обновлений, вам может потребоваться добавить любое форматирование, которое выполняется для файла CSS, поскольку, как я понимаю, он не может сохранить форматирование по умолчанию при обновлении. *

Если вам нужна дополнительная информация или пример кода, просто напишите мне.

Andrew

0 голосов
/ 06 ноября 2008

Обертывание содержимого четвертой вкладки в элементе управления UpdatePanel должно помочь.

<ajaxToolkit:TabPanel runat="server" ID="tabCS" HeaderText="Country Settings">
  <ContentTemplate>
    <asp:UpdatePanel runat="server" ID="upCountry" UpdateMode="Conditional">
      <ContentTemplate>

          ... content and calendar

       </ContentTemplate>
    </asp:UpdatePanel>
  </ContentTemplate>
</ajaxToolkit:TabPanel>
...