我的目的是动态生成一个表格然后在表格中填数据,提交后在服务器端能获得这些数据。能帮帮我吗?
代码如下:
                  
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
                                    CreateTable();
}
            
}
 private void CreateTable()
        {
            for (int i = 0; i<RowCount; i++)
            {
                TableRow newTableRow = new TableRow();
                newTableRow.CssClass = "DataGridAlertItem";
                newTableRow.EnableViewState = true;
                for (int j = 0; j<ColCount; j++)
                {
                    TableCell newTableCell = new TableCell();
                    newTableCell.EnableViewState = true;
                    newTableCell.CssClass = "DataGridItem";
                    TextBox newTextBox = new TextBox();
                    newTextBox.EnableViewState = true;
                    newTextBox.CssClass = "Textbox";
                    newTableCell.Controls.Add(newTextBox);
                    newTableRow.Cells.Add(newTableCell);
                }
                tblStock.Rows.Add(newTableRow);
            }
        }        private void wbtn_Save_Click(object sender, System.EventArgs e)
        {
            for (int i=1;i< tblStock.Rows.Count;i++)
            {
                foreach (TableCell tableCell in tblStock.Rows[i].Cells)
                {
                    ((TextBox) tableCell.Controls[0]).Text="a";
                }
            }
        }

解决方案 »

  1.   

    动态生成的控件就是这样;
    你可以事先在页面放置一个,将其visible=false,需显示的时再visible=true
      

  2.   

    <script language=C# runat=server>
    int Count
    {
      get
      {
        object o = ViewState["Count"];
        if (o==null)
    return 0;
        return (int)ViewState["Count"];
      }
      set
      {
    ViewState["Count"] = value;
      }
    }
    DropDownList AddDDL()
    {
      TableRow tr = new TableRow();
      TableCell tc = new TableCell();
      DropDownList ddl = new DropDownList();
      tc.Controls.Add(ddl);
      tr.Cells.Add(tc);
      tbl.Rows.Add(tr);
      return ddl;
    }
    void PopulateDLL(DropDownList ddl)
    {
       for (int i=1; i <=10; i++)
    ddl.Items.Add(i.ToString());
    }
    void Page_Load(Object sender, EventArgs e)
    {
       for (int i=0; i < Count; i++)
    {
    AddDDL();
    }
    }
    void Add(Object sender, EventArgs e)
    {
      DropDownList ddl= AddDDL();
      PopulateDLL(ddl);
      Count++;
    }
    </script>
    <form runat=server id=form1>
    <asp:Table id=tbl runat=server />
    <asp:Button id=btn runat=server text=add Onclick="Add" />
    <asp:Button id=btn2 runat=server text=submit/>
    </form>http://www.gro.cn/user1/leejun/archives/2005-9-15/23713.html
      

  3.   

    用javascript实现动态增加DataGrid行 
    http://blog.csdn.net/iambird/archive/2006/05/09/714204.aspx