首页 > 编程 > .NET > 正文

ASP.NET中根据XML动态创建并使用WEB组件(二)

2024-07-10 12:57:18
字体:
来源:转载
供稿:网友

最大的网站源码资源下载站,

asp.net中根据xml动态创建使用web组件

(二)

作者:厉铁帅

三、动态创建web组件。

先来看程序实例:

private void createconfigtable(int totalnum,int[] sequenceint,string[] namestr,string[] ipstr)

{

//根据得到测量点的总数,动态生成输入框

for(int i=1;i<=totalnum;i++)

{

//创建表格

htmltable showtable = new htmltable();

showtable.border=0;

showtable.id="showtable"+i.tostring();

showtable.bordercolor="#000000";

showtable.cellpadding=4;

showtable.cellspacing=4;

showtable.align="center";

myplaceholder.controls.add(showtable);

//创建一行

htmltablerow trow = new htmltablerow();

showtable.rows.add(trow);



//创建第一列(序号)

htmltablecell tcell = new htmltablecell();

label sequencelabel = new label();

sequencelabel.id="sequencelabel"+i.tostring();

sequencelabel.text="序号:";

sequencelabel.enabled=true;

tcell.controls.add(sequencelabel);

trow.cells.add(tcell);



//创建第二列

tcell = new htmltablecell();

sequencedatatb = new textbox();

sequencedatatb.id="sequencedatatb"+i.tostring();

sequencedatatb.text=i.tostring();

sequencedatatb.width=30;

sequencedatatb.text=sequenceint[i].tostring();

sequencedatatb.readonly=false;





//创建第三列(名称)

tcell = new htmltablecell();

label namelabel = new label();

namelabel.id="namelabel"+i.tostring();

namelabel.text="名称:";

namelabel.enabled=true;

tcell.controls.add(namelabel);

trow.cells.add(tcell);



//创建第四列

tcell = new htmltablecell();

nametb=new textbox();

nametb.id="nametb"+i.tostring();

nametb.width=120;

nametb.text=namestr[i];

nametb.maxlength=50;

tcell.controls.add(nametb);

trow.cells.add(tcell);



//创建第五列(ip)

tcell = new htmltablecell();

label iplabel = new label();

iplabel.id="iplabel"+i.tostring();

iplabel.text="ip:";

iplabel.enabled=true;

tcell.controls.add(iplabel);

trow.cells.add(tcell);



//创建第六列

tcell = new htmltablecell();

iptb=new textbox();

iptb.id="iptb"+i.tostring();

iptb.width=120;

iptb.text=ipstr[i];

iptb.maxlength=15;

tcell.controls.add(iptb);

trow.cells.add(tcell);

}

}

tcell.controls.add(sequencedatatb);

trow.cells.add(tcell);

… …

//创建第五列(ip)

tcell = new htmltablecell();

label iplabel = new label();

iplabel.id="iplabel"+i.tostring();

iplabel.text="ip:";

iplabel.enabled=true;

tcell.controls.add(iplabel);

trow.cells.add(tcell);



//创建第六列

tcell = new htmltablecell();

iptb=new textbox();

iptb.id="iptb"+i.tostring();

iptb.width=120;

iptb.text=ipstr[i];

iptb.maxlength=15;

tcell.controls.add(iptb);

trow.cells.add(tcell);

}

}



































































































































程序中的myplaceholder 是 system.web.ui.webcontrols.placeholder 组件,使用该组件的html语法如下:

… …

<tr>

<td>

<asp:placeholder id="myplaceholder" runat="server"></asp:placeholder>

</td>

</tr>

… …



















使用该组件的目的是为了定位动态创建的表格。该组件在页面上的位置即为动态创建的表格的位置。

程序中另外一个要说明的地方是动态创建的组件的id的设定。组件的id的设定要注意两点:

1、id号不能重复

2、要便于在程序中使用。因为要在程序中使用动态创建的组件,要通过该组件的id来查找。(关于这一点,在“使用动态创建的web组件”部分会有较为详细的介绍)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表