Используя ItemDataBound, я получаю только все остальные строки. Зачем?

Я использую код, подобный следующему, чтобы работать с каждой строкой в ​​моей таблице после ее привязки:

    protected void dtlImages_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item)
        {
            LinkButton button = (LinkButton)e.Item.FindControl("lbDeleteImage");
            button.Visible = false;
        }
    }

У меня есть кнопка рядом с каждым изображением в таблице, которая позволяет мне удалить изображение (строку). Кажется, что работает хорошо, но на самом деле происходит то, что он делает невидимыми все элементы строки (кнопка удаления). Что может вызвать это? Это трудно найти правильные слова для поиска в Google.:)

Если бы вы увидели мою таблицу, она бы выглядела как хороший список изображений с описанием, а изображение и все остальные строки имеют кнопку удаления рядом с изображением. В этом простом примере (я опустил условности для ясности), я думаю, что все они должны исчезнуть.

Какие-либо предложения?

1 ответ

Решение

Я думаю, что очень возможно, что вам нужно проверить ListItemType.AlternatingItem а так вот так:

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

Особенно если учесть тот факт, что он ловит только каждый второй ряд.

Другие вопросы по тегам