访问转发器控制并更改其属性

时间:2010-11-26 20:26:58

标签: ms-access controls repeater

我试图禁用/隐藏位于转发器控件内的lnkDelete按钮。我使用了这种方法,但是收到错误信息: 你调用的对象是空的。我不确定这似乎是什么问题。我可以使用intellesense来显示控件的Visible属性,这证明我在转发器内部有控制范围,任何人都可以提供帮助。 感谢

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

Bob white

2 个答案:

答案 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;