嵌套的ASP.NET选项卡

时间:2012-01-20 22:50:25

标签: c# asp.net ajax

我正在尝试使用ASP.NET和Ajax控件工具包在另一个内部获取控件选项卡,这是我正在使用的代码:

 <asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0">
     <asp:TabPanel runat="server" HeaderText="Main tab" ID="TabPanel1">
        <ContentTemplate>
                <asp:TabPanel HeaderText="Nested tab" ID="TabPanel2" runat="server">
                        <ContentTemplate>
                            <asp:Button ID="Button1" runat="server" Text="Delete" />
                        </ContentTemplate>
                </asp:TabPanel>            
        </ContentTemplate>
      </asp:TabPanel>
    </asp:TabContainer>

但我得到一个例外说:

  

“对象引用未设置为对象的实例。”

我不知道该怎么做,因为我的设计需要在另一个内部设置一个标签面板,这可能吗?

1 个答案:

答案 0 :(得分:4)

嵌套的<asp:TabPanel>应该在它自己的<asp:TabContainer>中,这可能是异常的内容:对象引用可能是容器,并且它没有设置为实例,因为它缺少嵌套标签。

<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0">
  <asp:TabPanel runat="server" HeaderText="Main tab" ID="TabPanel1">
    <ContentTemplate>

      <%-- You need another container before you can add a nested tab --%>
      <asp:TabContainer ID="NestedContainer1" runat="server">
        <asp:TabPanel HeaderText="Nested tab" ID="TabPanel2" runat="server">
          <ContentTemplate>
            <asp:Button ID="Button1" runat="server" Text="Delete" />
          </ContentTemplate>
        </asp:TabPanel>
      </asp:TabContainer>
      <%-- End of the second container --%>

    </ContentTemplate>
  </asp:TabPanel>
</asp:TabContainer>