怎样动态添加web控件?急

yuejie6666 2005-11-01 05:57:32
rt
...全文
186 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
就这么问?详细点吧。
* 什么是LiveCapture? LiveCapture是用户友好丰富特针的截屏和屏幕录像软件, 适合软件开发者、图形设计者以及普通用户 它不但有多种模式的截屏,还集多种功于一身,如:取色器,放大镜,调色板,屏幕标尺,坐标轴,量角器 它有多种截屏模式 #全屏截图 #活动窗口截图 #窗口控件截图 #选择区域截图 #固定区域截图 #截图并加标注(跟QQ截图相似) #自动滚动截图 #定时后台连续截图 #重复上次截图 #程序菜单截图 #后台网页截图 它你所需,还启动快捷,还可以从快捷键和托盘菜单截屏 此软件对个人用户和商业用户都免费使用,不需要你任何花费 * 特针 对多个windows系统支持 多语言支持 不写注册表,不会在系统目录里写任何文件(放在U盘里随时可用) * 屏幕截图 各种输出文件方式,可以自定灵活的文件名,以及输出到Word,Excel,PPT,画图,windows图片和传真查看器,外部编辑器(可自定义),发送到Email,FTP空间,Web空间 全屏 激活窗口 窗口控件 选择区域 固定区域 并加标注 自动滚动 定时后台 重复上次 程序菜单 后台网页 * 图形编辑器 Todo Lists * 取色器和调色板 可以获得各种格式的颜色值(RGB,十进制,十六进制) 多种颜色表示方式:RGB/HSL/HSV 获得你满意的颜色 * 屏幕标尺 水平和垂直方向 各种单位(像素,厘米,英寸) 测量屏幕任意两点间的距离 DPI设置(72,96,120,300以及用户自定义) 多种色彩的皮肤可以设置 你不用再单独安装专门的屏幕标尺了 * 屏幕放大镜 放大率从一倍到二十位不等 置顶窗口,水滑显示,可以拖动改变窗口尺寸 * 坐标轴 在当前屏幕上绘横竖坐标线,并显示坐标值 * 量角器 用它测量屏幕上图形的角度 * 屏幕录像机 该屏幕录像机功能非常丰富,有四种录像模式(窗口/控件,矩形区域,全部屏幕,除系统任务栏外的全部屏幕; 有细致的设置:是否压缩(可在系统自带压缩器里选);有多种保存格式:avi, flv, mpg, mov, asf, wmv * 制做动态Gif文件 既可以导入多个gif文件制做成一个动态gif文件,也可以连续截图后自动生成一个动态gif文件 * 在截屏图片上添加图章戳和时间戳 可设置:添加在图片上的位置,图章戳/时间戳的文字/大小/颜色/字体
* 什么是LiveCapture? LiveCapture是用户友好丰富特针的截屏和屏幕录像软件, 适合软件开发者、图形设计者以及普通用户 它不但有多种模式的截屏,还集多种功于一身,如:取色器,放大镜,调色板,屏幕标尺,坐标轴,量角器 它有多种截屏模式 #全屏截图 #活动窗口截图 #窗口控件截图 #选择区域截图 #固定区域截图 #截图并加标注(跟QQ截图相似) #自动滚动截图 #定时后台连续截图 #重复上次截图 #程序菜单截图 #后台网页截图 它你所需,还启动快捷,还可以从快捷键和托盘菜单截屏 此软件对个人用户和商业用户都免费使用,不需要你任何花费 * 特针 对多个windows系统支持 多语言支持 不写注册表,不会在系统目录里写任何文件(放在U盘里随时可用) * 屏幕截图 各种输出文件方式,可以自定灵活的文件名,以及输出到Word,Excel,PPT,画图,windows图片和传真查看器,外部编辑器(可自定义),发送到Email,FTP空间,Web空间 全屏 激活窗口 窗口控件 选择区域 固定区域 并加标注 自动滚动 定时后台 重复上次 程序菜单 后台网页 * 图形编辑器 Todo Lists * 取色器和调色板 可以获得各种格式的颜色值(RGB,十进制,十六进制) 多种颜色表示方式:RGB/HSL/HSV 获得你满意的颜色 * 屏幕标尺 水平和垂直方向 各种单位(像素,厘米,英寸) 测量屏幕任意两点间的距离 DPI设置(72,96,120,300以及用户自定义) 多种色彩的皮肤可以设置 你不用再单独安装专门的屏幕标尺了 * 屏幕放大镜 放大率从一倍到二十位不等 置顶窗口,水滑显示,可以拖动改变窗口尺寸 * 坐标轴 在当前屏幕上绘横竖坐标线,并显示坐标值 * 量角器 用它测量屏幕上图形的角度 * 屏幕录像机 该屏幕录像机功能非常丰富,有四种录像模式(窗口/控件,矩形区域,全部屏幕,除系统任务栏外的全部屏幕;有细致的设置;有多种保存格式:avi, flv, mpg, mov, asf, wmv ************************************** 升级日志 *********************************** # 发行版本: 1.2.2 发行日期: 2011-08-29 + 增加 更换一些分辩率不高的图标,谢 hgoldfish@smth * 修改 修正在Win7下无法显示图标的问题,谢 oicu@smth, mous@smth, hgoldfish@smth, PGP@smth # 发行版本: 1.2.1 发行日期: 2011-08-27 + 增加 在‘重复上次截图’模式中增加上次是手绘区域 * 修改 修正在截屏栏无法显示图标问题,谢 oicu@smth, mous@smth 修正用画图板打开(没有设置自动保存)时会同时自动保存,谢 oicu@smth 修正在配置界面一个小问题 修正退出‘截图并加光标模式’时: 1. 光标不能恢复系统默认的 2. 按Esc键/或右键进行第二次截图时,字体大小不对,颜色板显示不对 3. 一个提示错误,谢 climbfeng@smth # 发行版本: 1.2.0 发行日期: 2011-08-25 + 增加 全面改写‘截图并加标注’模式(高度仿QQ截图功能) 增加‘手绘区域截图’ * 修改 解决被杀软误报有毒的问题 # 发行版本: 1.1.2 发行日期: 2011-08-20 + 增加 增加在放大镜中显示鼠标指针标识,谢 buttonwood@smth 增加在矩形区域模式时即选即截图(在配置-截取标签里设置),谢 buttonwood@smth 增加繁体中文语言,谢 kk_lee69@ACN * 修改 修正不能第二次录像的问题 # 发行版本: 1.1.1 发行日期: 2011-08-16 + 增加 增加支持双显示器及多显示器截图 * 修改 把所有图标都放进DLL里了,并美化个别图标(这样看起来整洁点),谢 CorZ@smth 添加提醒录像时需要大的空间来操作视频数据,谢 pianzi@ANAU

62,248

社区成员

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

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

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

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