<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!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>
    <style type="text/css">
        #abc
        {
            height: 216px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div id="abc">
        <asp:Label ID="Label1" runat="server" Text="1"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    </div>
    <div>
    
    </div>
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        TextBox t = new TextBox();
        t.ID = "a";
        this.Label1.Controls.Add(t);
    }
}
为什么会将我Label1的值覆盖了,怎么能不覆盖Label1并且能在Label1下面 求大家帮忙

解决方案 »

  1.   

    你可以加个pannel<asp:Label ID="Label1" runat="server" Text="1"></asp:Label>
         <asp:TextBox ID="TextBox1" runat="server"  ></asp:TextBox>
        <asp:Panel ID="Panel1" runat="server" BackColor="#eee">
        
        </asp:Panel>然后,将文本框加入pannelTextBox t = new TextBox();
      t.ID = "a";
      this.Panel1.Controls.Add(t);
      

  2.   

    但是我要有每次点击都会有新的textbox出现哦
      

  3.   

    把你的刷新按钮放在UpdatePannel中,不去刷新TextBox所在的区域就可以了!
      

  4.   

    javascript + ajax
    javascript 生成Textbox
    ajax实现TextBox与服务器交互
      

  5.   

    每次点击都会有新的textbox出现,并且是累积的哦
      

  6.   

    下面是动态添加行的代码(行中包括textbox),你稍微改改就就ok了<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <html>
    <head>
    <script type="text/javascript">
    function contactlist(){
    var table = document.getElementById("contactTable");
    var tr = table.insertRow(table.rows.length);//添加一行
    tr.align="center";
    tr.bgcolor="#F3F4F3";
    tr.height="23"; //添加五列
    var td0 = tr.insertCell(0);
    td0.width="20%";
    var td1 = tr.insertCell(1);
    td1.width="20%";
    var td2 = tr.insertCell(2);
    td2.width="8%";
    var td3 = tr.insertCell(3);
    td3.width="30%";
    var td4 = tr.insertCell(4);
    td4.width="20%";

    //设置列内容
    td0.innerHTML = "";
    td1.innerHTML = "<input type='file' id='dataAudio' name='dataAudio'/><input type='hidden' name='dataAudios'/><input type='hidden' name='audioOldName'/>";
    td2.innerHTML = "<input type='text' name='playDateTime' id='playDateTime' onkeyup='validateNumber(this);' size='5' maxlength='3' style='color: red' />";
    td3.innerHTML = "<input type='text' name='content' id='content' size='35' maxlength='300'/>";
    td4.innerHTML = "<input type='button' value='删除' onclick='removeRow(this.parentNode.parentNode)'/>";

    }function removeRow(r)
    {
        var root = r.parentNode;
        var allRows = root.getElementsByTagName('tr');
        if(allRows.length > 3){
            root.removeChild(r);
        }else{
         alert("不能删除改行!");
        }
    }
    </script >
    </head>
    <body><table id="contactTable" width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D9D9D9"> 
        <tr bgcolor="#F3F4F3" align="center" height="23">
           <td colspan="5" align="left"><input type="button" value="添加帧" class="button" onclick="return contactlist();"/></td>
        </tr>
        <tr bgcolor="#F3F4F3" align="center" height="23">
           <td width="20%">上传图片</td>
           <td width="20%">上传声音</td>
           <td width="8%">播放时间</td>
           <td width="30%">内    容</td>
           <td width="20%">操作</td>
        </tr>
    </table></body>
    </html>
      

  7.   

    可以用来两个Label 呀,一个显示文字,一个显示控件
      

  8.   

    可以用两个Label 呀,一个显示文字,一个显示控件
      

  9.   

    我的意思是当一个textbox不够用时就可以点多几个textbox来用,不能改变textbox的属性
      

  10.   

    我的意思是在不能改变textbox属性的情况下,点击一次按钮就新增一个textbox,点击几次就有几个textbox
      

  11.   

    可以弄一个
    <div id="aa" runat="server">
               </div>
     protected void Button1_Click(object sender, EventArgs e)
        {
            aa.InnerHtml += "<input id='a' type='text' runat='server'/>";
        }
      

  12.   

    请问下 能否更改已经定义了textbox a=new textbox();中 的a 改成b呢
      

  13.   

    可以
     TextBox a = new TextBox();
            a.ID = "a";
            TextBox b = a;
      

  14.   

    这个是如在后台里面获取textbox的值?
      

  15.   

    this.Label1.Controls.Add(t);
    这样肯定把label替换掉啊
    你可以放个panel,将textbox放到panel中
      

  16.   

    那么我如何能获取这些新建textbox的值呢
      

  17.   

    TextBox t = new TextBox();
      t.ID = "a";
      this.Label1.Controls.Add(t);//
    ==>
    添加到form里面  
    this.form1.Controls.Add(t);
      

  18.   


    <form id="form1" runat="server" method="post" action="Default.aspx">
             //内容
          <div id="aa" runat="server">
          </div> 
    </form>
        protected void Button1_Click(object sender, EventArgs e)
        {
            aa.InnerHtml += "<input id= 'a' name='a' type='text' runat='server'/>";
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            if (Request.Form["a"] != null)
            {
                string []a = Request.Form["a"].ToString().Split(','); //产生多个textbox进行分割
            }
        }如果还搞不定你再看看下面的参考
    http://blog.csdn.net/zhuiyang1986/article/details/1647772
      

  19.   

    获取不了啊 label1都不变值的