当前位置:编程学习 > C#/ASP.NET >>

关于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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,