Как получить доступ к пустому ASP.NET ListView.ListViewItem, чтобы применить стиль после того, как вся привязка данных сделана? - PullRequest
0 голосов
/ 04 мая 2010

Мы используем ListView с GroupTemplate для создания меню навигации из трех столбцов с шестью элементами в каждом столбце, заполняя две строки без привязки к данным в последнем столбце с помощью EmptyItemTemplate, который содержит пустой элемент списка HTML , Эта часть работает нормально, но мне также нужно программно добавить класс CSS к шестому (последнему) элементу в каждом столбце. Эта часть также работает нормально для первых двух столбцов, потому что я назначаю класс CSS в событии DataBound, где я могу перебрать коллекцию ListView.Items и получить доступ к шестому элементу в первых двух столбцах, используя оператор модуля и счетчик.

Проблема возникает в последнем столбце, где EmptyItemTemplate правильно заполнил два пустых элемента списка, к последнему из которых мне также нужно добавить этот класс CSS. Пустые элементы не включены в коллекцию ListView.Items (это просто ListViewDataItems, а пустые элементы - ListViewItems). Я не могу найти способ получить доступ ко всей коллекции ListViewItems после привязки. Я что-то упустил?

Я знаю, что могу получить доступ к пустым элементам во время ItemCreated, но не могу понять, как определить, где создаваемый элемент попадает в поток и является ли он последним.

Буду признателен за любую помощь, если это вообще возможно - я немного застрял.

1 Ответ

0 голосов
/ 04 мая 2010

Я бы использовал JQuery для применения класса CSS после того, как движок ASP.Net отобразил страницу и отправил ее клиенту. Вы должны убедиться, что столбцы имеют атрибуты идентификатора, которые может найти JQuery, но в остальном это должно быть просто.

<script type="text/javascript">
    $(document).ready(function () {
        $("#someId").addClass("className");
    }); 
</script>
...