2010-03-10 113 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