asp.net(C#)动态加载同一个目录里的两个用户控件(不是同时),一个正常,一个不正常
动态加载的控件,本意是数据库里有几条记录就显示几个控件的,为什么同在一个目录下的两个用户控件,一个是数据库里有几条记录,就显示几个控件,而另一个是只显示一个控件呢?Ora...
动态加载的控件,本意是数据库里有几条记录就显示几个控件的,为什么同在一个目录下的两个用户控件,一个是数据库里有几条记录,就显示几个控件,而另一个是只显示一个控件呢?
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");
二控件的代码:header.ascx只有几个表格没有后台代码.
aaa.ascx的代码为:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet myds = DB.myds("select * from pet");
this.phonename.Text =myds.Tables["mytable"].Rows[0][1].ToString();
this.phoneprice.Text = myds.Tables["mytable"].Rows[0][2].ToString();
this.phonetype.Text =myds.Tables["mytable"].Rows[0][3].ToString();
this.phonemark.Text =myds.Tables["mytable"].Rows[0][6].ToString();
this.Image1.ImageUrl = "../photo\\" + myds.Tables["mytable"].Rows[0][4].ToString();
this.HyperLink1.NavigateUrl = "../phonedetail.aspx?petid=" + myds.Tables["mytable"].Rows[0][0].ToString();
}
} 展开
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");
二控件的代码:header.ascx只有几个表格没有后台代码.
aaa.ascx的代码为:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet myds = DB.myds("select * from pet");
this.phonename.Text =myds.Tables["mytable"].Rows[0][1].ToString();
this.phoneprice.Text = myds.Tables["mytable"].Rows[0][2].ToString();
this.phonetype.Text =myds.Tables["mytable"].Rows[0][3].ToString();
this.phonemark.Text =myds.Tables["mytable"].Rows[0][6].ToString();
this.Image1.ImageUrl = "../photo\\" + myds.Tables["mytable"].Rows[0][4].ToString();
this.HyperLink1.NavigateUrl = "../phonedetail.aspx?petid=" + myds.Tables["mytable"].Rows[0][0].ToString();
}
} 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询