怎样动态添加web控件?急

yuejie6666 2005-11-01 05:57:32
rt
...全文
178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspczlover 2006-04-25
  • 打赏
  • 举报
回复
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1;
好像要写成这样吧
>>
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1=new PlaceHolder ();
aspczlover 2006-04-25
  • 打赏
  • 举报
回复
private TextBox textBox = new TextBox();
-->
private static TextBox textBox = new TextBox();
lengyuewuhen 2006-04-25
  • 打赏
  • 举报
回复
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace DynamicCreateControl
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1;
private TextBox textBox = new TextBox();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
textBox.Text = "00001";
textBox.ID = "txtBox";
this.PlaceHolder1.Controls.Add( textBox );
}

private void Button2_Click(object sender, System.EventArgs e)
{

this.Label1.Text =Request["txtBox"];
}
}
}

这种方法可以,不知道有没有更好的方法
nanhaoff 2006-04-25
  • 打赏
  • 举报
回复
直接在后台生成代码,参照vs自动生成的代码可以写的
xiaohuasz 2006-04-24
  • 打赏
  • 举报
回复
可以
lengyuewuhen 2006-04-24
  • 打赏
  • 举报
回复
如果在叶面上将它的值给改了也行吗?
xiaohuasz 2006-04-24
  • 打赏
  • 举报
回复
回传后需重新添加
if( !IsPostBack )
{
textBox.Text = "1111";

}
this.PlaceHolder1.Controls.Add( textBox ); //该句放在外面
lengyuewuhen 2006-04-24
  • 打赏
  • 举报
回复
添加过后,我怎么读不了它的值啊

private TextBox textBox = new TextBox();
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1;

private void Page_Load(object sender, System.EventArgs e)
{
if( !IsPostBack )
{
textBox.Text = "1111";
this.PlaceHolder1.Controls.Add( textBox );
}
}

// 响应添加事件
private void btnAdd_Click(object sender, System.EventArgs e)
{
string s = textBox.Text;
Response.Write( s );
}

为什么输出的老是空啊?
是不是textBox没有回传它的值啊?
应该怎样解决呢?

jxufewbt 2005-11-01
  • 打赏
  • 举报
回复
TextBox txt = new TextBox();
txt.ID = "txt";
txt.Text = "sgfdshs";
Panle1.Contorls.Add(txt);
greennetboy 2005-11-01
  • 打赏
  • 举报
回复
1. 页面里面动态加载控件
Page.LoadControl();
2。在诸如Panel,PlaceHode控件
用Panle1.Controls.add();
CnEve 2005-11-01
  • 打赏
  • 举报
回复
TextBox tbx1 = new TextBox();
tbx1.ID = "tbx1";
tbx1.Name = "tbx1";
tbx1.Text = "this is a new web control";
Contorls.Add(tbx1);
poboy 2005-11-01
  • 打赏
  • 举报
回复
Label lb=new lb();
lb.Text="hello" ;
lb.ID="lb2" ;

Controls.Add(lb) ;
qugui 2005-11-01
  • 打赏
  • 举报
回复
用模板列生成了哟!
moodboy1982 2005-11-01
  • 打赏
  • 举报
回复
就这么问?详细点吧。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧