我在一个Datalist中每行添加动态的文本框,如下:
<asp:datalist id="Datalist4" runat="server" Width="100%">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Panel Runat="server" ID="layer1" style="BORDER-RIGHT: 1px; BORDER-TOP: 1px; OVERFLOW-Y: auto; Z-INDEX: 1; BORDER-LEFT: 1px; WIDTH: 640px; BORDER-BOTTOM: 1px; POSITION: absolute; HEIGHT: 100px"></asp:Panel>
</td>
</tr>
</table>
</ItemTemplate>
</asp:datalist>private void Datalist4_ItemDataBound(object sender,System.Web.UI.WebControls.DataListItemEventArgs e)
{

if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{

System.Web.UI.WebControls.Panel layer1=(System.Web.UI.WebControls.Panel)e.Item.FindControl("layer1");
int num=每项文本框个数;

int left=0;
for(int c=0;c<num;c++)
TextBox tb=new TextBox();
tb.Attributes.Add("style","position:absolute;top:0;left:"+left.ToString()+";");
tb.Width=150;
tb.ID="TBlank"+c.ToString();
tb.Attributes.Add("runat","server");
e.Item.FindControl("layer1").Controls.Add(tb);
layer1.EnableViewState=true; 



left+=170; }
 
} }

</td>
</tr>
</table>
</ItemTemplate>
</asp:datalist>
我在文本框中填了值后,在把它的visiable改为false再变为true后,文本框中的值就没有了,怎么回事啊,哪位知道该怎么改,多谢了!!