我试图禁用/隐藏位于转发器控件内的lnkDelete按钮。我使用了这种方法,但是收到错误信息: 你调用的对象是空的。我不确定这似乎是什么问题。我可以使用intellesense来显示控件的Visible属性,这证明我在转发器内部有控制范围,任何人都可以提供帮助。 感谢
protected void rptCAP_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
var lnkDel = e.Item.FindControl("lnkDelete").Visible = false;
}
Bob white
答案 0 :(得分:1)
您需要添加一个if语句来检查itemtype是项目还是交替项目而不是标题项目或页脚项目:
If (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){
var lnkDel = e.Item.FindControl("lnkDelete").Visible = false;
}
答案 1 :(得分:0)
Bob看起来即使FindControl没有返回控件,你也试图设置Visible属性。
您应该做类似
的事情var lnkDel = e.Item.FindControl("lnkDelete");
if (lnkDel != null)
lnkDel.Visible = false;