一个还没有明白的机理的问题。
页面代码:
<asp:Table ID="Table1" runat="server">
<asp:TableRow>
<asp:TableCell ID="tcell01">
<div id="test1">test1</div>
</asp:TableCell>
<asp:TableCell ID="tcell02">
<div id="test2">test2</div>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
当page_load执行下面操作的时候
Label oneLabel = new Label();
oneLabel.ID = "oneLabel";
oneLabel.Text = "oneLabel";
tcell01.Controls.Add(oneLabel);
即:当向tcell01添加控件的时候,test1消失,test2还在。
不知道是什么原因,我的分析是:
如果Page_load的时候,tcell01里面已经有test1了,那么tcell01只是add一个控件,test1应该还存在吧。
如果Page_load的时候,tcell01里面还没有test1,那为什么不执行tcell01.Controls.Add(oneLabel)时,
tcell01却是存在的,这是否说明,pageLoad以后,test1才加入到了tcell01,也就是说,test1应该在添加的oneLabel后面,可是实际上却不是这样,而是test1消失了。
也就是说执行tcell01.Controls.Add(oneLabel)的时候,test1消失了,不执行的话,test1存在,现在搞不清这里的add到底是添加,还是替换了。所以比较头大,这还是一个没有弄清楚的问题。
这说明我对asp.net的后台流程还是没有搞清楚。
如果哪位大虾飘过,请留下个解释。