关于Table的一个小问题,多谢帮忙!
我在页面上放置了一个WEB端的Table,用下面的代码在后台的一个事件中添加行:int rownum=3;
int numcells = 5;
for (int j=0; j<rownum; j++)
{
TableRow r = new TableRow();
for (int i=0; i<numcells; i++)
{
TableCell c = new TableCell();
TextBox box = new TextBox();
box.Text = e.Cell.Row.Cells[i].Text;
c.Controls.Add(box);
r.Cells.Add(c);
}
tbl_contain.Rows.Add(r);
}
添加了3行5列并加入了数据,可是为什么再触发另一个事件(比如一个Buttong),原来Table和其中的数据就不见了呢?我如果要在原来的3行5列下继续添加行和列是不可能的事,这是为什么呢?谢谢帮忙 --------------------编程问答-------------------- 在你的page_load的事件中是不是有对table影响的操作,有必要把page_load中的操作放在IsPostBack中,如:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
原来的代码
}
} --------------------编程问答-------------------- 要判断IsPostBack,不然刷新或者提交后又会重新绑定 --------------------编程问答-------------------- 可是我的创建行的代码必须写在那个事件中进行赋值!不能写在Page_Load中 --------------------编程问答-------------------- 如果你这个生成Table的事件不是第一次加载页面的时候就调用,而是其他某个事件触发的话,你就要想办法维持这个Table的状态了。
在后续的事件中都要调用生成Table的方法来维持。 --------------------编程问答-------------------- 不用这么麻烦吧
如果你创建行的代码不在Page_Load中,也就是说,不是每次页面回传都重新绑定,然后,你的Table的ViewState是true的话,页面回传之后,原来创建的东西应该还在的 --------------------编程问答-------------------- 回传问题,注意中 --------------------编程问答-------------------- 创建把它保存在session中
回传以后再读出来
补充:.NET技术 , ASP.NET