int Count = Convert.ToInt32(txtNum.Text);
            string name = txtName.Text;
            string hou = txtHou.Text;
            string mp3=".mp3";
            for (int i = 1; i <=Count; i++)
            {
                TextBox tx = new TextBox();
                TextBox tb = new TextBox();
                tb.ID = "mp3" + i.ToString();
                tx.ID = "txt" + i.ToString();
                switch (hou)
                {
                    case "1":
                        tx.Text = name + i.ToString();
                        tb.Text = i.ToString() + mp3;
                        break;
                    case "2":
                        tx.Text = name + Convert.ToString(i).PadLeft(2, '0');
                        tb.Text = Convert.ToString(i).PadLeft(2, '0')+mp3;
                        break;
                    case "3":
                        tx.Text = name + Convert.ToString(i).PadLeft(3, '0');
                        tb.Text = Convert.ToString(i).PadLeft(3, '0') + mp3;
                        break;
                }
                Label la = new Label();
                la.Text = @"<br/>";
                this.PlaceHolder1.Controls.Add(la);
                this.PlaceHolder1.Controls.Add(tx);
                this.PlaceHolder1.Controls.Add(tb);已经动态添加了控件,并且赋了值..
请问如何 获取出来,并且一次操作 全部添加到数据库?...如何实现

解决方案 »

  1.   

    这个东西前几天我也遇到过! 动态生成的控件只要页面一回发就会没了!
    所以无法取值!
    我是用另一种方法做的:给你的做的代码参考一下
     //生成日志
     private SqlCeConnection _conn = Activator.DbConnectionFactory.GetDbConnection(Activator.Context) as SqlCeConnection;
    public StringBuilder HtmlWrite = new StringBuilder();
            public void WriteLog()
            {
                W_title = new Logs().GetAllLogByLogId(logid)[0].LogName.ToString(); ;
                //读取已存在于数据库中的数据,进行表单的预览绘制 
                List<LogField> filed = new Log_FieldInfo().GetAllLog_FieldByLogId(logid);            HtmlWrite.Append("<a><b><font size=\"3\" color=\"#135294\"> " + W_title.ToString() + "</font></b></a><br/>");
                HtmlWrite.Append("<HR color=\"#C4D8ED\">");
                HtmlWrite.Append("<table cellpadding=\"0\" cellspacing=\"0\"  align=\"left\" style=\"width: 100%;height: 100%;\">");            foreach (LogField file in filed)
                {
                    string title = file.FiledName.ToString() + ":";
                    int height = Convert.ToInt32(file.FiledWidth.ToString());
                    int length = Convert.ToInt32(file.FiledHeight.ToString());
                    int type = Convert.ToInt32(file.FiledType.ToString());
                    //获取控件的主键,用来确定动态控件的ID和name
                    string pkid = file.pkId.ToString();                HtmlWrite.Append("<tr>");
                    HtmlWrite.Append("<td  style=\"width: 80px;background-color: #f1f3f5\" align=\"right\" valign=\"top\">");
                    HtmlWrite.Append(title);
                    HtmlWrite.Append("</td>");                HtmlWrite.Append("<td style=\" background-color: #f1f3f5\" colspan=\"2\" align=\"left\" valign=\"top\">");
                    if (type == 0)
                    {
                        HtmlWrite.Append("<input runat=\"server\" id=\"t" + pkid + "\" name=\"t" + pkid + "\" style=\"width: " + 120 * length + "px; height: " + 16 * height + "px;\" type=\"text\" />");
                    }
                    else if (type == 1)
                    {
                        HtmlWrite.Append("<textarea id=\"t" + pkid + "\" name=\"t" + pkid + "\" style=\"width:" + 160 * length + "px; height: " + 50 * height + "px\"></textarea>");
                    }
                    else if (type == 2)
                    {
                        HtmlWrite.Append("<input id=\"t" + pkid + "\" name=\"t" + pkid + "\" type=\"checkbox\" />");
                    }
                    else if (type == 3)
                    {
                        HtmlWrite.Append("<input id=\"t" + pkid + "\" name=\"t" + pkid + "\" type=\"checkbox\" />");
                    }
                    HtmlWrite.Append("</td>");
                    HtmlWrite.Append("</tr>");
                }
                HtmlWrite.Append("<tr>");
                HtmlWrite.Append("<td  style=\"width: 80px\" align=\"right\" valign=\"top\">");
                HtmlWrite.Append("<HR color=\"#C4D8ED\"/>");
                HtmlWrite.Append("</td>");
                HtmlWrite.Append("<td colspan=\"2\" align=\"right\" valign=\"top\">");
                HtmlWrite.Append("<HR color=\"#C4D8ED\"/>");
                HtmlWrite.Append("</td>");
                HtmlWrite.Append("</tr>");            HtmlWrite.Append("</table>");            PanelLable.Text = HtmlWrite.ToString();
            }
     //获取控件上的值,并将数据包存入数据库
            public void GetAndInsertDB()
            {
                string insert0 = "insert into Table" + logid + "  (";
                string insert1 = "";
                string insert2 = "  ) values ( ";
                string insert3 = " ";
                string insert4 = " )";            string strSql = "select * from Log_Field where Log_ID=" + Convert.ToInt32(logid);            SqlCeDataReader dr = SqlCeHelper.ExecuteReader(_conn, CommandType.Text, strSql);
                while (dr.Read())
                {
                    string title = dr["Field_Name"].ToString() + ":";
                    int height = Convert.ToInt32(dr["Field_Width"].ToString());
                    int length = Convert.ToInt32(dr["Field_Height"].ToString());
                    int type = Convert.ToInt32(dr["Field_Type"].ToString());
                    string datetype = dr["Field_DateType"].ToString();
                    string pkid = dr["pkId"].ToString();                //获取控件的主键,用来确定动态控件的ID和name
                    string ctrname = "t" + pkid;                string date = "";
                    insert1 += "c" + pkid + " ,";
                    if (type == 0)
                    {
                        date = Request.Form[ctrname].ToString();
                        if (datetype == "1")
                        {
                            insert3 += " " + Convert.ToInt32(date) + " ,";
                        }
                        else if (datetype == " 2")
                        {
                            insert3 += " " + Convert.ToSingle(date) + " ,";
                        }
                        else
                        {
                            insert3 += "'" + date + "',";
                        }
                    }
                    else if (type == 1)
                    {
                        date = Request.Form[ctrname].ToString();
                        insert3 += "'" + date + "',";
                    }
                    else if (type == 2)
                    {
                        if (Request.Form[ctrname] == null)
                        {
                            date = "0";
                        }
                        else
                        {
                            date = "1";
                        }
                        insert3 += " " + Convert.ToInt32(date) + " ,";
                    }
                }
                dr.Close();
                insert1 += "LogTime,LoginId  ";
                string thetime = DateTime.Now.ToString();
                insert3 += " '" + thetime + "'," + "'" + loginid + "'  ";
                string insert = insert0 + insert1 + insert2 + insert3 + insert4;            SqlCeHelper.ExecuteNonQuery(_conn, CommandType.Text, insert);        }
      

  2.   

    Request.Form 获取窗体变量集合。
    生成html的文本框
      

  3.   

    前台无代码  就一个lable用来显示