2013-04-12 186 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(); 
相关问题