e.item.cells[] 怎么用
有一个DataGrid 控件,总共有6列,第6列是模板列,且模板列里面放了一个LinkButton控件,ID是 LinkButton1,
我想访问他,并操作他.我在 ItemDataBound事件中,我写成下面的形式,
LinkButton lbt2 = (LinkButton)e.Item.Cells[5].FindControl("LinkButton1");
if (lbt2 != null)
{
lbt2.Text = "hello!";
lbt2.Attributes.Add("onclick", "return confirm('kkek1')");
}
执行结果和预期的一样, LinkButton1 的 text 显示成了 "hello!",且在点击时有这个弹出提示;
但是有一个问题是:在以上代码的 Cells[n]里面,n除了填5 以外, Cells[0]到 Cells[4]都能执行下在的语句,
按理说只能是 第6列,就就是索引为5的才能执行下面的语句,现在出现了这样的情况,是怎么回事呢?
难道是我对e.item.Cells[] 的理解有误吗?
我的理解是:cell[]代表列或单元格的索引,控件是在第6列,就应该是 cells[5]
有人说要加 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
条件, 但这是不用的,我也试过.