......
int m;private void Page_Load(object sender, System.EventArgs e)
{
  string sql="";
  DataTable dt=......  Response.Write ("<table id='Table1'><tr>");
  for (int i=0;i<dt.Rows.Count;i++)
  {
     Response.Write("<td ><input id='"+i+"' runat='server'  type='text'></td>");
  }
  m=dt.Rows.Count;
  Response.Write("</tr></table>");
}private void Button1_Click(object sender, System.EventArgs e)
{
  for (int n=0;n<m;n++)
  {
     Response.Write(......);//此处如何写,才能取各个文本框中的值
  }
}

解决方案 »

  1.   

    用Post
    在生成FOrm的时候.Post到另外一个页.这个页可以是本页然后用request.form[.]
    来取得值.asp中经常这样用.你查下资料就可以了
      

  2.   

    asp.net中不建议直接用Response.Write html
    可用Table控件加TextBox控件动态生成
      

  3.   

    private Table tb;
        protected void Page_Load(object sender, EventArgs e)
        {
                  string sql="";
                  DataTable dt = new DataTable();
                  tb = new Table();
                  
                  for (int i = 0; i < dt.Rows.Count; i++)
                  {
                      TableRow row = new TableRow();
                      TableCell cell = new TableCell();
                      TextBox txt = new TextBox();
                      cell.Controls.Add(txt);
                      row.Cells.Add(cell);
                      tb.Rows.Add(row);
                  }
          
    }
      

  4.   

    在button_Click中
        foreach (TableRow row in this.tb.Rows)
                  {
                      TextBox t = (TextBox)row.Cells[0].Controls[0];
                      t.Text就是你要的
                  }
      

  5.   

    Response.Write 根本不行因为它输出在<form></form>以外,无法被提交
    动态生成文本
    try服务器端用TextBox tb1 = new .......
    取数据用
    tb1.Text
    客户端
    document.createElement( "<input type='textbox' name='tname'/>");
    取得用
    Request[‘tname’]
      

  6.   

    首先感谢慕白兄的回复。但是按照你的运行以后,页面上看不到Table  tb,请教怎么回事。
      

  7.   

    忘了写一 句页面上加个panel在page_load中this.Panel1.Controls.Add(tb);