DataList中的LinkBut​​ton

时间:2010-03-10 19:16:01

标签: .net asp.net

我有一个datalist,在它的标题模板中我有一个linkbutton。在我写的代码隐藏文件中,我总是这样写:

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

但这给了我错误:

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

如何访问此链接按钮?

4 个答案:

答案 0 :(得分:2)

您应该在您使用的模板中使用FindControl()(例如ItemTemplate

答案 1 :(得分:1)

您对FindControl的调用没有找到任何内容 - 您需要确保在投射之前找到了某些内容并尝试使用它。

这种方法更安全:

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

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

答案 2 :(得分:1)

如果LinkBut​​ton嵌入在像Panel或其他控件这样的容器中,则必须到达其内部。 FindControl不会通过集合的子控件递归。

例如,您可能必须使用您拥有的任何嵌套控件结构执行类似的操作:

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

答案 3 :(得分:0)

尝试:

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

评论:: LnkPager是My Datalist中的链接按钮