2012-03-29 3 views
0

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

ответ

0

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

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

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

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

0

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

Для более быстрого постбэка, вы можете loook на стороне клиента Databinding для RadListView

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

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

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

Смежные вопросы