Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > ListView, Pager и #bind


Автор: adonin 6.8.2009, 17:10
Добрый вечер.
У меня есть задача: на странице есть ListView, который в коде страницы биндится к объекту List<Мой_Класс>. Запись в ListView содержит чекбокс, который принимает значение  логического поля из листа. Шаблон записи выглядит примерно так:

Код

        <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%#Bind("CheckBoxValue")%>'/>
...
        </ItemTemplate>


У ListView есть пейджер. Проблема в том что при переключении страниц пейджера теряются значения чекбоксов. я думал, что функция #Bind должна обеспечить сохранение изменений в источник данных и при повторном открытии на странице должны отобразиться сделанные ранее изменения. Почему этого не происходит? 
Спасибо.

Автор: Heinzz 6.8.2009, 18:28
http://forum.vingrad.ru/forum/topic-267499.html
Похожий случай

ЗЫ в WPF-приложениях связывание нормально работает и с List<>

Автор: PashaPash 6.8.2009, 19:16
adonin, Это asp.net, а не winforms. Ты привязываешь ListView к List<Мой_Класс>. Потом класс страницы со всеми контролами рендерится в html. Html пишется в Response и уходит клиенту. А объект страницы, вместе с ListView и List<Мой_Класс> умирает. При пейджинге создается новый ListView, ему отдается новый List<Мой_Класс> и выставляется номер страницы. При этом ес-но просто выбрасываюся старые данные и значения чекбоксов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)