2013-04-12 246 views
1

這可能嗎?我有一個AJAX TabContainer和容器中的3個選項卡。在選項卡#2上,我有一個複選框,選中時啓用文本框。當複選框未選中時,應禁用文本框。當AutoPostBack = true時,阻止頁面重新加載到AJAX TabContainer上?

我有了這個代碼在我的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(); 
相關問題