ASP.NET/DataList: обратная передача на стороне клиента путем нажатия элементов списка - PullRequest
1 голос
/ 29 декабря 2008

У меня есть элемент управления DataList, который отображает набор элементов. Может ли кто-нибудь указать мне в правильном направлении, как я могу добавить некоторые функциональные возможности на стороне клиента для отправки / выполнения обратной передачи, когда пользователь щелкает элемент в списке (например, в любом месте в том, что является корнем элемента списка. видел несколько примеров, добавив скрытую LinkButton и подключив ее - но у меня не получается, чтобы она работала должным образом.

ура

- larsw


Спасибо за помощь - я пошел за методом jQuery. Знаете ли вы, если я могу вызвать скрытый asp: LinkButton из лямбда-функции (для выбранного элемента), чтобы произошла обратная запись?

В вашем примере кода была небольшая опечатка (в случае, если кто-то еще читает эту ветку): Мне пришлось добавить # в селектор jQuery; ' # <% = DataList1.ClientID%> td'

- larsw

1 Ответ

5 голосов
/ 29 декабря 2008

Нет такой вещи как "обратная передача на стороне клиента", это ошибочное утверждение. Обратная передача подразумевает отправку на сервер (или внешний сервер).

Что вы действительно ищете, так это добавление некоторых методов AJAX на свою страницу. Это можно сделать несколькими способами:

  • UpdatePanel
  • Чистый MS AJAX
  • Смесь MS AJAX и jQuery (или другой библиотеки JavaScript, я предлагаю jQuery из-за его поддержки в VS 2008)

Метод UpdatePanel

Это не самая лучшая идея, если у вас очень тяжелая страница. Посмотрите на сообщение в блоге, которое я написал, если вы хотите получить больше информации о том, на что обратить внимание - http://www.aaron -powell.com / blog.aspx? Id = 1195 .

Проще говоря, UpdatePanels может быть опасным выбором, если вы не понимаете, каковы ограничения.

MS AJAX и / или jQuery

Это моя рекомендация о том, что вам следует делать. Используйте jQuery, чтобы найти все элементы в DOM, в которые вы хотите поместить события клиента, например:

$('#<%= DataList1.ClientID %> span').click(function () { alert('You want something here'); });

У Дэвида Уорда есть несколько хороших сообщений об использовании jQuery с ASP.NET/ ASP.NET AJAX - http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/ и http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

Примечание: Если вы собираетесь использовать реализацию AJAX, у вас нет доступа к коллекции элементов управления страницы, все это будет взаимодействием статического метода, поэтому помните, что если вы Чтобы обновить несколько разделов страницы, вам нужно написать методы JavaScript для этого.

...