Как мы можем заставить DataView Control реагировать на события javascript? - PullRequest
4 голосов
/ 10 июня 2009

Если бы у меня был элемент управления ASP.NET 4.0 DataView, который выглядел как показано ниже, как я могу управлять событиями javaScript на стороне клиента?

метка тела:

<body xmlns:sys="javascript:Sys" xmlns:dataview="javascript:Sys.UI.DataView"    
  sys:activate="*">

Тег DataView:

<ul sys:attach="dataview" dataview:data="{{ ListOfPeople }}" class="sys-template">    
    <li>    
          <div>{{ GivenName }}</div>  
          <div>{{ SurName }}</div>  
          <div>{{ Title }}</div>  
          <div>{{ Department }}</div>  
          <div>{{ Phone }}</div>  
          <div>{{ EmailAddy }}</div>  
    </li>  
</ul>

Например, я хочу, чтобы кнопка или ссылка «выбирали» эту запись, и чтобы сервер отправлял им электронное письмо или отмечал их в базе данных, или даже что-то столь же простое, как изменение стиля выбранной строки, чтобы привести фокус пользователя на это.

1 Ответ

1 голос
/ 10 сентября 2009

AFAIK клиентские шаблоны используются для рендеринга и не имеют никаких опций для прикрепления событий.

Я думаю, с помощью jQuery вы могли бы реализовать простой выбор

$('#peopleList > li').live('click', function () {
    $(this).parent().children().removeClass('selected');
    $(this).addClass('selected');
});

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

...