Одна проблема заключается в том, что вы вызываете ретранслятор напрямую, вместо шаблона привязанного элемента - e.Item.FindControl
вместо Repeater1.FindControl
.
Другая проблема заключается в том, что событие ItemDataBound
также будет запускаться дляверхний и нижний колонтитулы, и вы не проверяете тип элемента списка ( ListItemType enum), который включен в повторителе.
Поскольку у вас нет элемента заголовка (который будет первым элементом, вызывающим обработчик), панель управления отсутствует, и приведение не выполняется.
Вам нужен только Item
и AlternatingItem
типы элементов:
protected void repComments_OnDataBound(Object sender, RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
{
Panel panel = (Panel)e.Item.FindControl("commentAdminPanel");
panel.Visible = false;
}
}