Просто чтобы вмешаться в этот вопрос,
Я использовал метку на своей странице .aspx, которая должна была быть видна только в моем шаблоне элемента DataList, если в наборе данных были дочерние записи.
Я добавил функцию метки на ярлык:
moreOptionsLabel.Attributes.Add ("onclick", string.Format ("toggle_visibility ('{0}')", div.ClientID));
в моем файле .cs. Теперь он будет управлять тегом div на странице .aspx, чтобы показывать или скрывать записи - потому что онклик указывает на функцию javascript на стороне клиента. Обратите внимание на div.ClientID, который делает это работоспособным в списке данных.
Как отмечено выше - тег span действительно становится функциональным с помощью "onclick". А поскольку элемент управления надписью отображается как интервал после запроса страницы, использование Addtribute.Add ("onclick" .... работает.
Результат - показать / скрыть функциональность данных без обратной передачи. Если вы используете LinkButton или элементы управления simlar - обратная передача и перезагрузка страницы неизбежны, если только вы не хотите разбираться в Ajax.
ПРИМЕЧАНИЕ: тег span не будет выглядеть кликабельным, если вы не украсите его подчеркиванием и курсором руки.
Кредит на эту идею приходит от Уилла Асрари в http://www.willasrari.com/blog/display-nested-repeaters-and-gridviews-asynchronously/000292.aspx