2013-05-16 3 views
0

У меня есть динамическая таблица, которая находится на панели обновления. Данные таблицы заполняются из кода позади. В каждой строке есть флажок. После обратной передачи флажки перепроверяются, если их нужно проверить. У меня есть все предметы, которые нужно перебирать в списке. Этот список проверяется в PreRenderer. Это отлично работает, если страница открывается в первый раз.Проверка и снятие флажков после обратной передачи в Page_PreRender

void Page_PreRender(object sender, EventArgs e) 
     { 
      foreach (string CheckedeID in cboCheckedList) 
      { 
       CheckBox checkedBox = (CheckBox)tbl_main.FindControl(CheckedeID); 
       checkedBox.Checked = true; 
      } 
     } 

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

Я устанавливаю флажок в неправильном положении? Где я должен установить флажок, чтобы он оставался включенным?

Код таблицы в UpdatePanel:

<asp:UpdatePanel runat="server" ID="UpdatePanel2" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <asp:Table runat="server" ID="Table1" BorderStyle="Solid" BorderWidth="2" GridLines="Both" BackColor="White" class="tablesorter"> 
       <asp:TableHeaderRow ID="TableHeaderRow2" runat="server"> 
        <asp:TableHeaderCell BackColor="#CEE3F6" ForeColor="White" Wrap="false" Width="50px" 
         HorizontalAlign="Center" CssClass="NoImage"> 
        </asp:TableHeaderCell> 
        .... 
       </asp:TableHeaderRow> 
      </asp:Table> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
+2

показать мне ваш 'Page_load' код плз – Rahul

+0

Я могу показать вам, но есть много функций в OnLoad. Можете ли вы сказать мне, что вы хотели бы видеть, чтобы я мог дать вам более короткий код? – Freddy

+1

вы используете свойство 'Ispostback' страницы на' onLoad' или на 'pageload' – Rahul

ответ

0

Удаление UpdateMode = «Условный» из панели обновления сделал трюк.

<asp:UpdatePanel runat="server" ID="UpdatePanel2"> 
      <ContentTemplate> 
       <asp:Table runat="server" ID="Table1" BorderStyle="Solid" BorderWidth="2" GridLines="Both" BackColor="White" class="tablesorter"> 
        <asp:TableHeaderRow ID="TableHeaderRow2" runat="server"> 
         <asp:TableHeaderCell BackColor="#CEE3F6" ForeColor="White" Wrap="false" Width="50px" 
          HorizontalAlign="Center" CssClass="NoImage"> 
         </asp:TableHeaderCell> 
         .... 
        </asp:TableHeaderRow> 
       </asp:Table> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
Смежные вопросы