c# .net 中 在DataList中FindControl找不到控件

<asp:DataListID="SclassList1"runat="server"CellSpacing="20"RepeatColumns="3"RepeatDir... <asp:DataList ID="SclassList1" runat="server" CellSpacing="20"
RepeatColumns="3" RepeatDirection="Horizontal">
<ItemTemplate>
<A href='<%# "wheel.aspx?id="+ Eval("id") %>'>
<asp:Image ID="Image2" runat="server" ImageUrl='<%# Eval("smallimg") %>' />
<br />
<asp:Label ID="DatalistLabel1" runat="server" Text='<%# Eval("number") %>'></asp:Label>
</A>
</ItemTemplate>
</asp:DataList>

后台代码
SclassList1.FindControl("DatalistLabel1").Visible = false;

然后报错提示未将对象引用设置到对象的实例。
展开
 我来答
百度网友d7ec117
2012-05-02 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:158
采纳率:100%
帮助的人:109万
展开全部
你这样写是错误的 你只找了这个List下面的这个ID 还未转换成Label类型
你应该先这样
Label Label1 = SclassList1.FindControl("DatalistLabel1") as Label; 转换
Label1.Visible = false;
这样就OK了
追问
如果是我自定义的那种不知道是不是这么叫就是在里面加一个表格然后在里面布局后加的label
然后要显示很多条的数据。。。会不会label的id也会自动改变的呀???所以才提示找不到??
这个我也是刚刚想到在家里代码在别的地方。。。回来研究研究。。还得请教高手哈哈哈。。。
追答
如果你在DataList里有几条数据就有几个Label的话  那就用数据表ID做为Label的控件ID 这样到后台取Label就方便  这样说明白吗
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2f01db5bb
2012-05-02 · TA获得超过258个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:317万
展开全部
如果你没一行的都要设置那就这样
for(int i=0;i<SclassList1.Items.Count;i++)
{
Label lbl=(Label)SclassList1.Items[i].FindControl("DatalistLabel1“);
lbl.VIsible=false;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leowhb
2012-05-02
知道答主
回答量:18
采纳率:0%
帮助的人:15.3万
展开全部
要每一行去找啊~!
for(int i=0;i<SclassList1.Items.Count;i++)
{
SclassList1.Items[i].FindControl("DatalistLabel1“);
}
追问
我这个控件是没条数据都有。。只不过有时候需要显示有时候不需要显示
所以我想在特定条件下不显示他想让他隐藏就可以不知道怎么搞啊??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式