找不到添加在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();
}
尝试创建一个新的Panel并放入你的
的ContentTemplatevar newPanel = new Panel();
TabPanel1.ContentTemplate.Controls.Add(newPanel);