找不到添加在AjaxTabContainer中的硬编码web控件

本文关键字:编码 web 控件 添加 AjaxTabContainer 找不到 | 更新日期: 2023-09-27 18:05:08

我正在研究动态生成WebControls。我有一个Ajax TabContainer与TabPanel里面。TabPanel包含一个ContentTemplate。在ContentTemplate内部是一个Asp:Panel。

'当前问题:我试图在ContentTemplate内的Asp:Panel中添加动态生成的web控件。但是我不能直接添加动态控件,也找不到面板,因为它总是为空,对象引用未设置为对象异常的实例。

如何解决这个问题?

My aspx Code:

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> </asp:ToolkitScriptManager>
    <asp:TabContainer ID="TabContainer1" runat="server" Width ="1178px" VerticalStripWidth="1000px" OnDemand="false" ScrollBars="Vertical" ActiveTabIndex="1" EnableViewState="true" AutoPostBack="true">
       <asp:TabPanel ID="TabPanel1" runat ="server">    
          <HeaderTemplate> Upload</HeaderTemplate>
              <ContentTemplate>
                  <asp:Panel ID ="Panel1" runat="server">
                  </asp:Panel>
              </ContentTemplate>       
       </asp:TabPanel>         
    </asp:TabContainer>

My c# code:

protected void findpanel()
    {
        Panel Panel1= TabContainer1.FindControl("TabPanel1").FindControl("Panel1") as Panel;
        //Alwals Null
        TextBox tb = new TextBox();
        tb.ID = "TB1";
        tb.Text = "Hi";
        Panel1.Controls.Add(tb);
        //Object reference not set to an instance of an oject         
    }
protected void Page_PreInit(object sender, EventArgs e)
    {
        findpanel();
    }

找不到添加在AjaxTabContainer中的硬编码web控件

尝试创建一个新的Panel并放入你的

的ContentTemplate
var newPanel = new Panel();
TabPanel1.ContentTemplate.Controls.Add(newPanel);