如何在ASPX页面上通过按钮添加多个TEXTBOX,并且提交时可以获得值

解决方案 »

  1.   

    js添加input text,name相同,Request.Form["input's Name"]获得值
      

  2.   

    把动态生成的所有文本框命一个相同的名字。如:name="txt" 
    然后用js读取里面的值。
    function getTxt() 

      var obj=document.getElementsByName("txt"); 
      var len=obj.length; 
      for(var i=0;i <len;i++) 
      { 
       var txtValue=obj[i].value; ---获得值
      } 
    }
      

  3.   

    页面中放置一个
    protected System.Web.UI.WebControls.PlaceHolder PlaceHolderExamPaper;在要加载文本框的位置写上:
    TextBox TxtAnswer= new TextBox();PlaceHolderExam.Controls.Add(TxtAnswer);
      

  4.   

    页面中放置一个 
    protected System.Web.UI.WebControls.PlaceHolder PlaceHolderExamPaper; 在要加载文本框的位置写上: 
    TextBox  TxtAnswer= new TextBox(); 
    TxtAnswer.ID=文本框ID;PlaceHolderExam.Controls.Add(TxtAnswer); 
    string stxt = ((TextBox)Page.findControl(文本框ID)).text ;
      

  5.   

    如:<asp:PlaceHolder ID="PlaceHolder1" runat="server">
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
            </asp:PlaceHolder>
            
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
            <br />
            <asp:Label ID="Label1" runat="server" Text=""></asp:Label> protected void Button1_Click(object sender, EventArgs e)
        {
            string result = string.Empty;
            foreach( Control ctrl in PlaceHolder1.Controls )
            {
                if (ctrl.GetType () == typeof (TextBox ))
                {
                    TextBox tb = ctrl as TextBox;
                    result = result + "," + tb.Text;
                }
            }        if (result.Length > 0)
            {
                this.Label1.Text = result.Substring(1);
            }
        }
      

  6.   


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="TextBox.aspx.cs" Inherits="TextBox" %><!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 language="javascript" type="text/javascript">
        var count=0;
        function AddTextBox()
        {        
            var div=document.getElementById('div');
            div.insertAdjacentHTML("beforeEnd","<input type='text' id='txt"+count+"' name='txt"+count+"' /><br>");
            count++;
        }
        function SetValue()
        {
            document.getElementById('<%=hidCount.ClientID %>').value=count;       
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div id="div">               
        </div>    
        <input type="button" id="btnAdd" value="增加" onclick="AddTextBox()" />
        <asp:Button ID="btnSubmit" runat="server" Text="提交" OnClientClick="SetValue()" OnClick="btnSubmit_Click" />
        <asp:HiddenField ID="hidCount" runat="server"  />    
        </form>
    </body>
    </html>using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;using System.Collections.Generic;
    using System.Text;
    public partial class TextBox : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                hidCount.Value = "0";
            }
            //Response.Write(hidCount.Value+"<br>||<br>");        
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            List<string> l = new List<string>();
            int count = 0;
            int.TryParse(hidCount.Value, out count);
            for (int i = 0; i < count; i++)
            {
                l.Add(string.IsNullOrEmpty(Request.Form["txt" + i.ToString()]) ? null : Request.Form["txt" + i.ToString()]);
            }
            StringBuilder sb = new StringBuilder();
            sb.Append("<script>document.getElementById('div').innerHTML=\"");
            for (int i = 0; i < l.Count; i++)
            {
                sb.Append("<input type='text' id='txt" + i + "' name='txt" + i + "' value='" + (l[i] == null ? "" : l[i]) + "' /><br>");
            }
            sb.Append("\";count=" + hidCount.Value + ";</script>");
            ClientScript.RegisterStartupScript(GetType(), "AddTextBox", sb.ToString());
        }
    }
      

  7.   

    如果我要给每个新加入的textbox都加上onblur事件,怎么做?
      

  8.   

    To 9楼:
    再写一个方法: private void AddBlurAttribute(Control cntrl)
        {
            if (cntrl.Controls.Count > 0)
            {
                foreach (Control childControl in cntrl.Controls)
                {
                    AddBlurAttribute(childControl);
                }
            }        if (cntrl.GetType() == typeof(TextBox))
            {
                TextBox tb = (TextBox)cntrl;
               
                tb.Attributes.Add("onBlur", ".....");            
            }
        } 
    然后在page_Load中写上:
    AddBlurAttribute(PlaceHolder1);
      

  9.   


    function AddTextBox()
        {        
            var div=document.getElementById('div');
            div.insertAdjacentHTML("beforeEnd","<input type='text' id='txt"+count+"' name='txt"+count+"' onblur='函数名();' /><br>");
            count++;
        }
      

  10.   

    sandy945说的有点意思,可惜不完整!
      

  11.   

    如:
    HTML code <asp:PlaceHolder ID="PlaceHolder1" runat="server">
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
                <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
            </asp:PlaceHolder>
            
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
            <br />
            <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    C# code protected void Button1_Click(object sender, EventArgs e)
        {
            string result = string.Empty;
            foreach( Control ctrl in PlaceHolder1.Controls )
            {
                if (ctrl.GetType () == typeof (TextBox ))
                {
                    TextBox tb = ctrl as TextBox;
                    result = result + "," + tb.Text;
                }
            }        if (result.Length > 0)
            {
                this.Label1.Text = result.Substring(1);
            }
        }
    //添加事件
    C# code private void AddBlurAttribute(Control cntrl)
        {
            if (cntrl.Controls.Count > 0)
            {
                foreach (Control childControl in cntrl.Controls)
                {
                    AddBlurAttribute(childControl);
                }
            }        if (cntrl.GetType() == typeof(TextBox))
            {
                TextBox tb = (TextBox)cntrl;
               
                tb.Attributes.Add("onBlur", ".....");            
            }
        } 我摘录的代码,给楼主看看哈.源文档 <http://topic.csdn.net/u/20090325/12/4f891768-01ae-4b03-8a68-1f833964bf1e.html>