如何动态的在页面生成WebControl?

xuexplorer 2003-12-02 04:53:13
如果我现在某个TextBox后面根据条件再添加一个TextBox,该怎么做?
...全文
35 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SpringWang 2003-12-03
  • 打赏
  • 举报
回复
PlaceHolder Web 服务器控件使您可以将空容器控件放置到页内,然后在运行时动态添加、移除或依次通过子元素。该控件只呈现其子元素;它不具有自己的基于 HTML 的输出。

void Page_Load(Object sender, EventArgs e)
{
HtmlButton myButton = new HtmlButton();

myButton.InnerText = "Button 1";
PlaceHolder1.Controls.Add(myButton);

myButton = new HtmlButton();
myButton.InnerText = "Button 2";
PlaceHolder1.Controls.Add(myButton);

myButton = new HtmlButton();
myButton.InnerText = "Button 3";
PlaceHolder1.Controls.Add(myButton);

myButton = new HtmlButton();
myButton.InnerText = "Button 4";
PlaceHolder1.Controls.Add(myButton);
}


xueyhfeng 2003-12-03
  • 打赏
  • 举报
回复
参考:
protected System.Web.UI.WebControls.Button Button1;
public void Page_Load(object sender, System.EventArgs e)
{
Button1.Click += new EventHandler(this.Button_Add);
}
ptivate void Button_Add(object sender,EventArgs e)
{
LinkButton myLinkButton = new LinkButton();
myLinkButton.ID = "myLink"; //这里给变量
myLinkButton.Text = "myLink"; //这里随便
myLinkButton.Click += new EventHandler(this.Process);
this.Controls[1].Controls.Add(myLinkButton);
}
private void Process(object sender,EventArgs e)
{
Label1.Text += "点击了连接按钮,";
}

---------------------
楼主试下吧,我没试过,
xuexplorer 2003-12-02
  • 打赏
  • 举报
回复
前面的说得方法只能添加一次,但是第二次点击后前面的产生的WebControl就没有了,页面就只有一个添加出来的WebControl了,而且还没法动态的给他定义ID。
我现在想的是有一个Button,id=button1,点击一次产生一个TextBox,我在里面填写一些文字,我再点击一次button1,又产生一个TextBox,但是第一次产生的还在,而且我填写的文字还在,以此类推,产生多个TextBox,最后我再点击一个保存按钮,把所有的TextBox里面的内容都保存下来。请问一下该怎么做?
zhenwang 2003-12-02
  • 打赏
  • 举报
回复
那如果我要连续的点击一个BUTTON,让页面连续的添加textbox 呢
xueyhfeng 2003-12-02
  • 打赏
  • 举报
回复
主要是利用控件的Controls.Add 方法,很多控件都支持Controls.Add 方法的,比如Panel,Label,等,你可以查一下MSDN,
shdcxue 2003-12-02
  • 打赏
  • 举报
回复
Btton btn = new Button();
btn.text = "test";
Page.FindControl(Form1).add(btn);
acewang 2003-12-02
  • 打赏
  • 举报
回复
参考:
public void Page_Load(object sender, System.EventArgs e)
{
LinkButton myLinkButton = new LinkButton();
myLinkButton.ID = "myLink";
myLinkButton.Text = "myLink";
myLinkButton.Click += new EventHandler(this.Process);
this.Controls[1].Controls.Add(myLinkButton);
}

private void Process(object sender,EventArgs e)
{
Label1.Text = "点击了连接按钮";
}
gshope 2003-12-02
  • 打赏
  • 举报
回复
动态生成控件,我一般是在Panel里生成,无论是生产还是访问都很方便。
MFC2001 2003-12-02
  • 打赏
  • 举报
回复
you can use System.Web.UI.UserControl to do it.

62,074

社区成员

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

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

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

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