当前位置:编程学习 > C#/ASP.NET >>

asp.net(C#)动态加载同一个目录里的两个用户控件(不是同时),一个正常,一个不正常

动态加载的控件,本意是数据库里有几条记录就显示几个控件的,为什么同在一个目录下的两个用户控件,一个是数据库里有几条记录,就显示几个控件,而另一个是只显示一个控件呢? 

OracleDataReader odr = DB.mycmd("select * from pet"); 
TableRow tr = new TableRow(); 
while (odr.Read()) 

i = i + 1; 
TableCell tc = new TableCell(); 
Control GS = (Control)this.LoadControl("usercontrol\\aaa.ascx"); 
tc.Controls.Add(GS); 
tr.Controls.Add(tc); 
//if (i % this.Rownum == 0) 
this.Table1.Rows.Add(tr); 
Response.Write("<br><br>abcde</br></br>"); 
//tr = new TableRow(); 
上面这段程序只能在主页面显示一个用户控件. 

OracleDataReader odr = DB.mycmd("select * from pet"); 
TableRow tr = new TableRow(); 
while (odr.Read()) 

i = i + 1; 
TableCell tc = new TableCell(); 
Control GS = (Control)this.LoadControl("usercontrol\\header.ascx"); 
tc.Controls.Add(GS); 
tr.Controls.Add(tc); 
//if (i % this.Rownum == 0) 
this.Table1.Rows.Add(tr); 
Response.Write("<br><br>abcde</br></br>"); 
//tr = new TableRow(); 

上面这段程序就能在主页面显示出多个用户控件来.同样是这段程序只换一个控件,就能显示出多个控件来. 
Control GS = (Control)this.LoadControl("usercontrol\\header.ascx");
--------------------编程问答-------------------- 那要看你的别一个控件是怎么处理的. --------------------编程问答-------------------- OracleDataReader odr = DB.mycmd("select * from pet");
TableRow tr = new TableRow();
while (odr.Read())
{
i = i + 1;
TableCell tc = new TableCell();
Control GS = (Control)this.LoadControl("usercontrol\\aaa.ascx");
tc.Controls.Add(GS);
tr.Controls.Add(tc);
//if (i % this.Rownum == 0)
this.Table1.Rows.Add(tr);
Response.Write(" <br> <br>abcde </br> </br>");
tr = new TableRow();// 迭代需要重新 new 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,