c#.net中如何将数据库中的内容显示到label中
for(inti=1;i<=10;i++){foreach(DataRowdrinds.Tables[0].Rows){LabelNews=this.Controls["...
for (int i = 1; i <= 10; i++)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
Label News = this.Controls["new" + i.ToString()] as Label;
if (dr.Table.Rows[i]["NewsName"].ToString() != "")
{
News.Text = dr.Table.Rows[i]["NewsName"].ToString();
}
}
}
出现错误:提示错误 2 与“System.Web.UI.ControlCollection.this[int]”最匹配的重载方法具有一些无效参数 错误 3 参数“1”: 无法从“string”转换为“int”
请高手指教如何修改 谢谢。我记得在c#中可以这样写的啊
但是怎么到了.net中就错了,请高手指教,谢谢 展开
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
Label News = this.Controls["new" + i.ToString()] as Label;
if (dr.Table.Rows[i]["NewsName"].ToString() != "")
{
News.Text = dr.Table.Rows[i]["NewsName"].ToString();
}
}
}
出现错误:提示错误 2 与“System.Web.UI.ControlCollection.this[int]”最匹配的重载方法具有一些无效参数 错误 3 参数“1”: 无法从“string”转换为“int”
请高手指教如何修改 谢谢。我记得在c#中可以这样写的啊
但是怎么到了.net中就错了,请高手指教,谢谢 展开
4个回答
展开全部
你说的“c#中可以这样写的啊 ”中的C#是指什么 ?winform程序吗 ?
刚才我在 winform 中测试了一下你的代码,可以通过。
原因是这两个类是不同的类的,他们所在不同命名空间下。
winform 中好用的,因为它的命名空间是
System.Windows.Forms
而你现在用的是 web,它的命名空间是
System.Web.UI
明白 ?web跟winform 中的用法有少许的不同。
这样修改。
System.Web.UI.Control News = new System.Web.UI.Control();
for( int i = 1; i <= 10; i++ )
{
foreach( DataRow dr in ds.Tables[0].Rows)
{
News = Page.FindControl( "new" + i.ToString() );
if( dr.Table.Rows[i]["NewsName"].ToString() != "" )
{
Label lbl = News as Label;
lbl.Text = dr.Table.Rows[i]["NewsName"].ToString();
}
}
}
刚才我在 winform 中测试了一下你的代码,可以通过。
原因是这两个类是不同的类的,他们所在不同命名空间下。
winform 中好用的,因为它的命名空间是
System.Windows.Forms
而你现在用的是 web,它的命名空间是
System.Web.UI
明白 ?web跟winform 中的用法有少许的不同。
这样修改。
System.Web.UI.Control News = new System.Web.UI.Control();
for( int i = 1; i <= 10; i++ )
{
foreach( DataRow dr in ds.Tables[0].Rows)
{
News = Page.FindControl( "new" + i.ToString() );
if( dr.Table.Rows[i]["NewsName"].ToString() != "" )
{
Label lbl = News as Label;
lbl.Text = dr.Table.Rows[i]["NewsName"].ToString();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Label News = this.Controls["new" + i.ToString()] as Label;
改成
Label News = FindControl["new" + i.ToString()] as Label;
这样就行了
改成
Label News = FindControl["new" + i.ToString()] as Label;
这样就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Label News = this.Controls["new" + i.ToString()] as Label;
你说的一个是WinForm,一个是WebForm(ASP.NET)吧
Web页面的Controls[]<-这里只能用索引
而WinForm窗体的Controls[]<-可以用控件名字
你可以这样
Label lbl=(Label)this.FindControl("new"+i.ToString());
你说的一个是WinForm,一个是WebForm(ASP.NET)吧
Web页面的Controls[]<-这里只能用索引
而WinForm窗体的Controls[]<-可以用控件名字
你可以这样
Label lbl=(Label)this.FindControl("new"+i.ToString());
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询