2010-11-26 31 views
0

我想禁用/隐藏位于中继器控制内的lnkDelete按钮。我使用了这种方法,但是我收到一条错误消息: 未将对象引用设置为对象的实例。我不确定似乎是什么问题。我可以使用intellesense来显示控件的Visible属性,这证明我确实有范围控制中继器内的控件,任何人都可以提供帮助。 感谢接入中继器控制和更改其属性

protected void rptCAP_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     var lnkDel = e.Item.FindControl("lnkDelete").Visible = false; 
     } 

鲍勃白色

+1

你的意思是通过中继器控制?这也不是VBA代码。 – 2010-11-26 21:26:54

回答

1

你需要添加一个if检查语句,如果项目类型是一个项目或交替项,而不是标题项或页脚项目:

If (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){ 
var lnkDel = e.Item.FindControl("lnkDelete").Visible = false; 

    } 
0

鲍勃它即使在FindControl没有返回控件时,你也会试图设置Visible属性。

你或许应该这样做

var lnkDel = e.Item.FindControl("lnkDelete"); 
if (lnkDel != null) 
    lnkDel.Visible = false; 
相关问题