添加 设定值: 
例如 名称: 张三  个数:3  后缀: 1   点击"设定"  3个textbox 然后生成   张三1  ..
            张三2 ..
            张三3....

解决方案 »

  1.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dynamicAdd.aspx.cs" Inherits="WebApp.dynamicAdd" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>    <script type="text/javascript">
            function addFile() {
                var _table = document.createElement("table");
                var _tbody = document.createElement("TBODY");
                var _row;
                var _cell;
                var rlen = parseInt(document.getElementById("rowlen").value);
                for (var i = 0; i < rlen; i++) {
                    _row = document.createElement("tr");
                    for (var j = 0; j < 3; j++) {
                        _cell = document.createElement("td");
                        var div = document.createElement("div");
                        var f = document.createElement("input");
                        f.setAttribute("type", "text")
                        f.setAttribute("name", "txtCardNo")
                        f.setAttribute("size", "20")
                        div.appendChild(f)
                        var d = document.createElement("input");
                        d.setAttribute("type", "button")
                        d.setAttribute("onclick", "deteFile(this)");
                        d.setAttribute("value", "移除")
                        div.appendChild(d)
                        _cell.appendChild(div);
                        _row.appendChild(_cell);
                    }
                    _tbody.appendChild(_row);
                }
                _table.appendChild(_tbody);
                var con = document.getElementById("_container");
                con.innerHTML = "";
                con.appendChild(_table);
            }        function deteFile(o) {
                while (o.tagName != "DIV") o = o.parentNode;
                o.parentNode.removeChild(o);
            }        function getAllTd() {
                document.getElementsByTagName("td")[0].style.backgroundImage = 'url(http://img.baidu.com/img/logo-zhidao.gif)';
            }
        </script></head>
    <body>
        <form id="form1" runat="server">
        <select id="rowlen">
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
        </select>
        <input value="add" type="button" onclick="addFile()" />
        <div id="_container">
        </div>
        <input type="button" value="ok" onclick="getAllTd()" />
        </form>
    </body>
    </html>
      

  2.   

    后台通过Request变量值访问动态添加的html元素的值
    protected void Page_Load(object sender, EventArgs e) {
                if (!IsPostBack) {
                    if (!string.IsNullOrEmpty(Request["txtCardNo"])) {
                        string[] strCardes = Request["txtCardNo"].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                        foreach (string strCard in strCardes) {
                            //to do
                        }
                    }
                }
            }
      

  3.   

    前台:
    <asp:Panel ID="Panel1" runat="server">
            </asp:Panel>
    后台:DataTable t = new DataTable();
                t.Columns.Add("name", typeof(string));
                t.Columns.Add("num", typeof(int));
                t.Columns.Add("hz", typeof(int));            DataRow row1 = t.NewRow();
                row1["name"] = "张3";
                row1["num"] = 3;
                row1["hz"] = 1;
                t.Rows.Add(row1);
                TextBox tb;
                Label lb;
    for (int i = 0; i < Int32.Parse(row1["num"].ToString()); i++)
                {
                    lb = new Label();
                    lb.ID = "lb" + i.ToString();
                    lb.Text = row1["name"].ToString()+(++i).ToString()+":";
                    Panel1.Controls.Add(lb);
                    tb = new TextBox();
                    tb.ID = "TB"+i.ToString();
                    Panel1.Controls.Add(tb);
                }
      

  4.   

    //创建一个文本框
    TextBox tbxName = new TextBox();
    tbxName.ID = "tbxName";
    tbxName.Text = "OK";
    this.form1.Controls.Add(tbxName);//创建一个按钮
    Control c = ParseControl("<asp:Button Text = '按钮' ID = 'myButton' runat = 'server' />");
    this.form1.Controls.Add(c);//创建一个按钮事件
     Button myButton = (Button)Page.FindControl("myButton");
    myButton.Command += new CommandEventHandler(this.myButton_Click);
      

  5.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            for (int i = 1; i <= 3; i++)
            {
                TextBox txt = new TextBox();
                txt.ID = "张三"+i.ToString();
                txt.Text = "张三" + i.ToString(); 
                Panel1.Controls.Add(txt);
            }
        }
      

  6.   

    如果只有三文本框的话:
    protected void Button1_Click(object sender, EventArgs e)
        {
            for (int i = 1; i <= 3; i++)
            {
                TextBox txt = new TextBox();
                if (i == 1)
                {
                    txt.ID = "张三0" + i.ToString();
                    txt.Text = "张三0" + i.ToString(); 
                }
                if (i == 2)
                {
                    txt.ID = "张三00" + i.ToString();
                    txt.Text = "张三00" + i.ToString();
                }
                if (i == 3)
                {
                    txt.ID = "张三000" + i.ToString();
                    txt.Text = "张三000" + i.ToString();
                }
                Panel1.Controls.Add(txt);
            }
        }
      

  7.   

    不一定是3 个也许会是30个.. 还有“张三” 也是从其那面获取的..
    考虑想用  webControl 来做..
      

  8.   

    假如有10个:
    protected void Button1_Click(object sender, EventArgs e)
        {
            for (int i = 1; i <= 10; i++)//要几个改10就行
            {
                TextBox txt = new TextBox();
                txt.ID = "张三" + getNum(i) + "1";
                txt.Text = "张三" + getNum(i) +"1"; 
                
                
                Panel1.Controls.Add(txt);
            }
        }
        private string getNum(int num)
        {
            string strTemp = "";
            for (int i = 0; i < num; i++)
            {
                strTemp += "0";
            }
            return strTemp;
        }
      

  9.   

    用了 好像不行... 你会PlaceHolder  嘛。给里面的控件 赋值...
      

  10.   

     //生成日志
            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\" readonly=\"readonly\" id=\"t" + pkid + "\" name=\"t" + pkid + "\" style=\"width: " + 120 * length + "px; height: " + 16 * height + "px;\" type=\"text\" />");
                    }
                    else if (type == 1)
                    {
                        HtmlWrite.Append("<textarea readonly=\"readonly\" id=\"t" + pkid + "\" name=\"t" + pkid + "\" style=\"width:" + 160 * length + "px; height: " + 50 * height + "px\"></textarea>");
                    }
                    else if (type == 2)
                    {
                        HtmlWrite.Append("<input readonly=\"readonly\" id=\"t" + pkid + "\" name=\"t" + pkid + "\" type=\"checkbox\" />");
                    }
                    else if (type == 3)
                    {
                        HtmlWrite.Append("<input readonly=\"readonly\" 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();
            }
      

  11.   

    做个参考 也可以使用html生成htlm控件而不是服务器控件