有时在ASP.NET里,为了页面的灵活性,我们要用到动态创建控件并且取它们的值,下面是写的一段小小的后台代码,以便参考。 private TextBox Txt; protected void Page_Load(object sender, EventArgs e) { Create(); } private void Create() { Button Btn = new Button(); Btn.ID = "MyBtn"; Btn.Text = "显示"; Btn.CommandArgument = "MyBtn"; Btn.Command += new CommandEventHandler(this.MyBtn_Command); this.Txt = new TextBox(); this.Txt.ID = "MyTxt"; this.FindControl("form1").Controls.Add(Btn); this.FindControl("form1").Controls.Add(Txt); //这里还可以写成:Page.Form.Controls.Add(Txt); } public void MyBtn_Command(object sender, CommandEventArgs e) { if (e.CommandArgument.ToString() == "MyBtn") Response.Write(Txt.Text); } =========下面是转贴的============= 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; public partial class Test : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //动态创建文本框控件 TextBox txt = new TextBox(); txt.ID = "txtTest"; //加入到WEB窗体中 Page.Form.Controls.Add(txt); //动态创建按钮控件 Button btn = new Button(); btn.ID = "btnTest"; btn.Text = "提交"; //为按钮动态添加事件 btn.Click += new EventHandler(btnTest_Click); //加入到WEB窗体中 Page.Form.Controls.Add(btn); } //为动态创建的按钮事件写一个方法 protected void btnTest_Click(object sender, EventArgs e) { //获取在WEB窗体中动态创建的文本框控件 TextBox txt = new TextBox(); txt = Page.Form.FindControl("txtTest") as TextBox; //输出在WEB窗体中动态创建的文本框控件的值 Response.Write(txt.Text); } }