回 帖 发 新 帖 刷新版面

主题:如何找到DataList中<SelectedItemTemplate>中的控件

我想找到DataList中<SelectedItemTemplate>中的一个Label
我试过
foreach (DataListItem item in this.TopLevelList.Items)
{
    Label lb = (Label)item.FindControl("curItemCode");
}
curItemCode是Label的ID,但找不到
该怎么做呢,大家有什么高招吗
谢谢!!!!

回复列表 (共6个回复)

沙发

昨天试你这个程序,我用TextBox可以找得到,但是用Label就不行
可能是你用了Label的话,就是不可能编辑的,不可编辑都可以找到的话
就可以用((Label)e.Item.FindControl("id")).Text="值" 就变成可编辑的了
所以可能是这个原因

板凳

不对啊,我昨天又试了,我可以用((Label)e.Item.FindControl("id")).Text="值"
给那个Label赋值啊 说明还是找到了 不知道为什么用监视的时候显示值为空
郁闷了

3 楼

((Label)e.Item.FindControl("id")).Text="值"
请问这里的e是什么事件产生的
在foreach里可以找到Label吗

4 楼

知道是什么原因了
因为你绑定数据的时候应该是这样绑定的
<asp:Label id="Label5" runat="server"><%# DataBinder.Eval(Container.DataItem,"name")%></asp:Label>
这样并没有给Label的Text属性绑定 
应该要这样绑定
<asp:Label id="Label5" runat="server" text='<%# DataBinder.Eva(Container.DataItem,"name")%>'><asp:Label>

5 楼

我就是第二种方法绑定的Label

6 楼

那就不知道 我试了可以的

我来回复

您尚未登录,请登录后再回复。点此登录或注册