用findcontrol找datalist中的label控件

lhsunrice 2007-08-20 02:49:33
我的代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class zzz : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Label myLabel1 = (Label)FindControl("Label3");
Label lb2 = (Label)this.DataList1.FindControl("Label2");
if (lb2 != null)
{
myLabel1.Text = "ccccccccccccc";

}
else
{
Response.Write("Control not found");
}
}
}

<asp:DataList ID="DataList1"
runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
日志标题:<asp:Label ID="Label1" runat="server"
Text='<%# Eval("topic") %>'></asp:Label><br />
日志类别:<asp:Label ID="Label2" runat="server"
Text='<%# Eval("classname") %>'></asp:Label>
</ItemTemplate>
<SeparatorTemplate>
_________________________________________________________<br /><br />
</SeparatorTemplate>
</asp:DataList>

最后总是显示“Control Not Find”到底怎么才能用findcontrol找到Datalist中的控件啊?,,
郁闷。。。。。。。。。。。。。。
...全文
1120 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
watson110 2007-09-04
  • 打赏
  • 举报
回复
你也不能把代码全粘回去试啊
jiangmin168168 2007-09-04
  • 打赏
  • 举报
回复
foreach (DataListItem item in DataList1.Items)
{
//处理事件

}
Basel 2007-09-04
  • 打赏
  • 举报
回复
各位老大,
仍然提示:
找不到类型或命名空间名称“DateListItem”(是否缺少 using 指令或程序集引用?)
行 42: foreach (DateListItem item in DataList1.Items)
DateListItem打错字了,是datalistitem

yangsuqin 2007-08-20
  • 打赏
  • 举报
回复
gg
watson110 2007-08-20
  • 打赏
  • 举报
回复
up
zwwlovezy1 2007-08-20
  • 打赏
  • 举报
回复
谁触发的就是谁的事件
写代码之前先把事件搞清楚 :P
beyongpaul 2007-08-20
  • 打赏
  • 举报
回复
事件是ImageButton1_Click 是这个

比如你点这个按纽
就得到输出LABEL3的值

就这样
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
foreach(DateListItem item in DataList1.Items)
{

Label myLabel1 = (Label)item.FindControl("Label3");
response.write(myLabel1+"<br/>")
}

}
lhsunrice 2007-08-20
  • 打赏
  • 举报
回复
仍然提示:
找不到类型或命名空间名称“DateListItem”(是否缺少 using 指令或程序集引用?)
行 42: foreach (DateListItem item in DataList1.Items)
lhsunrice 2007-08-20
  • 打赏
  • 举报
回复

using System.Collections
______________________________________
还是不对。。。。。。。
西安风影 2007-08-20
  • 打赏
  • 举报
回复

using System.Collections
lhsunrice 2007-08-20
  • 打赏
  • 举报
回复
protected void Datalist1_ItemCommand(object sender, DataListCommandEventArgs e)
{
foreach (DateListItem item in DataList1.Items)
{
Label myLabel1 = (Label)item.FindControl("Label2");
if (lb2 != null)
{
myLabel1.Text = "ccccccccccccc";
}
else
{
Response.Write("Control not found");
}
}

}
这样写,提示错误:
找不到类型或命名空间名称“DateListItem”(是否缺少 using 指令或程序集引用?)
行 41: foreach (DateListItem item in DataList1.Items)
lhsunrice 2007-08-20
  • 打赏
  • 举报
回复
用foreach的话,事件是ImageButton1_Click还是DataList_ItemCommand啊?
lhsunrice 2007-08-20
  • 打赏
  • 举报
回复
恩我再试试~~~
谢谢你们~~
^____________________________^
gliet1981 2007-08-20
  • 打赏
  • 举报
回复
beyongpaul() ( ) 信誉:100 2007-08-20 15:04:21 得分: 0


兄弟要用FOREACH

比如
foreach(DateListItem item in DataList1.Items)
{

Label myLabel1 = (Label)item.FindControl("Label3");
}
----------------------------------------------正解

zwwlovezy1 2007-08-20
  • 打赏
  • 举报
回复
对嘛。。
beyongpaul 2007-08-20
  • 打赏
  • 举报
回复
兄弟要用FOREACH

比如
foreach(DateListItem item in DataList1.Items)
{

Label myLabel1 = (Label)item.FindControl("Label3");
}
BearRui 2007-08-20
  • 打赏
  • 举报
回复
你事件用的不对,应该使用DataList的ItemCommand事件,然后在ItemCommand事件中用
e.FindControl来找

62,047

社区成员

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

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

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

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