2010-03-10 143 views
3

我有一个数据列表,并在其头部模板我有我写的,因为我一直写了linkbutton.In我隐藏文件:的LinkBut​​ton在DataList控件

((LinkButton)(DataList1.FindControl("LinkButton1"))).Enabled = false; 

但是这给我的错误:

未将对象引用设置为对象的实例。

我怎样才能访问这个linkbutton?

+0

你能发布html标记吗? – orandov 2010-03-10 19:21:45

回答

2

你应该在你使用模板使用FindControl()(如ItemTemplate

1

您致电FindControl没有发现任何东西 - 您需要确保在投射它之前找到某物并尝试使用它。

这种方法更安全:

LinkButton linkButton 
    = DataList1.FindControl("LinkButton1") as LinkButton; 

if (linkButton != null) 
    linkButton.Enabled = false; 
+0

好的我做了,linkBut​​ton为空,但我的LinkBut​​ton1在那里。我该怎么办? – erasmus 2010-03-10 19:22:51

1

如果LinkBut​​ton的嵌入在像面板或其他控制你将不得不在其内部达成的容器。 FindControl不通过集合的子控件进行递归。

例如,你可能需要做这样的事情与任何嵌套控制结构,必须:

FindControl("Panel1").FindControl("LinkButton1").Enabled ... 
0

尝试用:

**LinkButton lnk = (LinkButton)e.Item.FindControl("LnkPager");** 

评论:: LnkPager是我的Datalist中

一个LinkBut​​ton 210
相关问题