问题描述
页面代码<tr><tdvalign="top"><asp:TableID="TabCond"runat="server"BorderWidth="0"CellPadding="0"CellSpacing="1"BackColor="#d4e1e9"Width="100%"></asp:Table></td></tr>
创建代码if(!this.IsPostBack){TableRowtrRow=newTableRow();TableCelltcCellTitle=newTableCell();tcCellTitle.HorizontalAlign=HorizontalAlign.Right;tcCellTitle.Style.Value="background-color:#e7ebef;height:30px;width:100px";tcCellTitle.Text="<divstyle='text-align:center'>测试标题</div>";trRow.Cells.Add(tcCellTitle);TableCelltcCellContent=newTableCell();tcCellContent.HorizontalAlign=HorizontalAlign.Left;tcCellContent.Style.Value="background-color:White";tcCellContent.Text=" ";TextBoxTbQuery=newTextBox();TbQuery.ID="TbQuery1";TbQuery.BorderStyle=BorderStyle.Groove;tcCellContent.Controls.Add(TbQuery);trRow.Cells.Add(tcCellContent);TabCond.Rows.Add(trRow);}
调用代码(this.FindControl("TbQuery1")asTextBox).Text
提示对象不存在,那我怎么动态创建,textbox可以获取值。
解决方案
解决方案二:
去掉if(!this.IsPostBack)
解决方案三:
试试:在TabCond中找
解决方案四:
引用1楼cpp2017的回复:
去掉if(!this.IsPostBack)
解决方案五:
if(!this.IsPostBack)=======================不可以
解决方案六:
找的路径不对呀,怎么放就怎么取
解决方案七:
(TabCond.FindControl("TbQuery1")asTextBox).Text==================================================也取不到啊
解决方案八:
stringstr=(TabCond.FindControl("TbQuery1")asTextBox).Text;
解决方案九:
引用3楼isline的回复:
引用1楼cpp2017的回复:去掉if(!this.IsPostBack)
最简单的方法;至于原理建议楼主多看看asp.net页面生命周期