использовать ajax для привязки / перепривязки источника данных списка просмотра? - PullRequest
0 голосов
/ 29 марта 2012

Возможно ли связать / перепривязать источник данных RadListView с помощью Ajax? То, что я пытаюсь сделать, это создать тип форума. Один ListView вложен в другой просмотр списка. Внешний просмотр списка будет загружаться при загрузке страницы и отображать все заголовки темы, а представление внутреннего списка не будет связано, пока не будет нажат заголовок. Затем я буду использовать jQuery, чтобы открыть детали под заголовком и загрузить ЭТО ListView, используя ajax. это возможно и как? или есть другой способ достижения этого эффекта? Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2012

Простой способ, если вы не заботитесь о создании PostBack, - это подключить вложенные ListViews, подключить заголовок к событию ItemCommand и связать соответствующий RadListView, который вам нужен, и скрыть другие.Возможно, вы можете отключить ViewState в этих элементах управления, чтобы уменьшить размер, поскольку вы будете отображать только выбранные элементы ListView, только если вы не будете выполнять какие-либо функции подкачки или сортировки.

Для более быстрой обратной передачи вамможно выполнить привязку на привязке данных на стороне клиента для RadListView

http://demos.telerik.com/aspnet-ajax/listview/examples/client/programmaticdatabinding/defaultcs.aspx

. Вы должны сгенерировать функцию, с помощью которой вы можете отправить ClientID ListView для привязки данных, а также внешний DIV (если вам нужен)показать при нажатии на заголовок.

Затем функция найдет ListView, покажет внешний контейнер и свяжет его с данными.Вы также можете включить код, который свернет видимый в данный момент div, если вы хотите эту функциональность.Глобальная переменная, сохраняющая идентификатор предыдущего элемента div, будет для нее простым способом.

0 голосов
/ 29 марта 2012

Вы можете заключить внешний список в UpdatePanel и назначить обработчик OnClick для строки темы.При щелчке по строке темы происходит асинхронная обратная передача, и вы можете привязать внутренний список в обработчике событий щелчка.

Так или иначе вам нужно перейти к выделенному коду.Если вы хотите использовать jQuery, вы можете прикрепить события клика к заголовку и вызвать __doPostBack в обработчике, например:

$("#<%=ListView1.ClientID%> .header").click(function(){
    __doPostBack($(this).attr("id"), "");
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...