2013-04-12 5 views
1

Возможно ли это? У меня есть AJAX TabContainer и 3 вкладки в контейнере. На вкладке №2 у меня есть флажок, который при проверке включает текстовое поле. Если флажок снят, текстовое поле должно быть отключено.Запретить перезагрузку страницы на вкладке AJAX TabContainer, когда AutoPostBack = true?

Я получил этот код в моей форме ASP:

<AJAXControls:TabContainer runat="server" ID="tabContainer" Height="373" Width="900" > 
     <AJAXControls:TabPanel ID="firstTab" HeaderText="First Tab" runat="server"> 
      <ContentTemplate> 
       <asp:Label ID="Label1" runat="server">You are in the First tab.</asp:Label> 
      </ContentTemplate> 
     </AJAXControls:TabPanel> 
     <AJAXControls:TabPanel ID="secondTab" HeaderText="Second Tab" runat="server"> 
      <ContentTemplate> 
       <div> 
       <asp:Panel ID="Panel1" runat="server" Height="70px" style="margin-left: 19px" 
        Width="860px" BorderStyle="Groove" BorderWidth="2px"> 
         <table> 
          <tr> 
           <td width="170">Review Validated:</td> 
           <td width="50"><asp:CheckBox ID="chkRevVal" runat="server" Text=" " oncheckedchanged="chkRevVal_CheckedChanged" AutoPostBack="true" /></td> 
           <td width="40"></td> 
           <td width="170">Validation Comments:</td> 
           <td width="380" rowspan = "4"><asp:textbox id="txtValComm" runat="server" textmode="multiline" rows="4" Width="380px"></asp:textbox></td> 
          </tr> 
          <tr></tr> 
          <tr></tr> 
          <tr></tr> 
         </table> 
       </asp:Panel>    
      </ContentTemplate> 
     </AJAXControls:TabPanel> 
    </AJAXControls:TabContainer> 

И я получил это в моем коде-за:

protected void chkRevVal_CheckedChanged(object sender, EventArgs e) 
    { 
     if (chkRevVal.Checked == true) 
     { 

      this.txtValComm.Enabled = true; 
      this.txtValComm.Focus(); 

     } 
    } 

Проблема заключается в том, когда я проверяю ящик , TabContainer возвращается к вкладке №1 каждый раз. Есть ли способ сохранить его на вкладке №2 после того, как я проверил флажок?

+0

Я отредактировал ваше название. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

ответ

1

Просто поместите управление Panel1 в UpdatePanel с помощью UpdateMode="Conditional". Кстати, перепишите chkRevVal_CheckedChanged следующим образом:

this.txtValComm.Enabled = chkRevVal.Checked; 
if (txtValComm.Enabled) 
    txtValComm.Focus();