Как мне зарегистрировать щелчок на стороне сервера для HTMLGenericControl? - PullRequest
4 голосов
/ 31 марта 2010

Я ищу надежный механизм для генерации обработчика обратной передачи на стороне сервера для HTMLGenericControl, такого как элемент li.

У меня есть некоторая разметка, которую я не хочу менять, и я предпочел бы рассматривать это так же, как стандартный серверный элемент управления .Net.

Кроме того, я знаю, что могу использовать элемент управления на основе шаблона, чтобы поместить некоторые элементы управления .Net в разметку как скрытые, а затем инициировать их события нажатия на прокси-сервере кликов на стороне клиента. Однако я действительно спрашиваю, можно ли сделать это лучше.

Ответы [ 2 ]

4 голосов
/ 31 марта 2010

Проблема с тем, что вам нужно:
- отсутствует серверный элемент управления с допустимым обработчиком событий, чтобы можно было инициировать серверное событие.

Несколько вариантов, которые я могу придумать:

  • использовать PageMethods
  • вызов __doPostBack ()
  • вызов пользовательского JavaScript для выполнения запроса XMLHTTP к серверу
1 голос
/ 31 марта 2010

Посмотрите на функцию ASP.NET __doPostBack. Здесь - хорошая запись.

Вы можете добавить обработчик кликов к вашим элементам li (или к чему-либо еще), чтобы они вызывали функцию __doPostBack. Это то, что делает большинство других серверных элементов управления, поэтому вы используете тот же механизм - единственное отличие состоит в том, что вы вручную устанавливаете обработчик щелчков для своих элементов.

...