Очистка генерации .NET HTML

Я хочу очистить часть HTML, сгенерированного контроллером .NET 2.0 TreeView. Переход на другую версию/модель недоступен.

Мой первый взлом привел к расширенному TreeView с переопределенным Render, который Regex извлек текст, который мне не нужен, и вывел на страницу.

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

Что мне не хватает?


person Gavin Miller    schedule 04.11.2008    source источник


Ответы (2)


Используйте адаптеры управления ASP.NET CSS:

http://www.asp.net/CSSAdapters/TreeView.aspx

Без адаптеров оба используют HTML-теги ‹table›. Можно использовать управляющие адаптеры, чтобы вместо них отображались вложенные теги ‹ul›. Затем можно использовать комбинацию CSS и JavaScript для отображения и скрытия частей иерархии дерева или меню. Когда CSS и JavaScript удаляются, адаптированный HTML деградирует до простых вложенных неупорядоченных списков, которые легко интерпретируются программами чтения с экрана и т. д. Вы можете убедиться в этом сами, установив тему на «Нет» в окне выбора темы слева.

person FlySwat    schedule 04.11.2008

Вы регулярно вывели что-то, что необходимо элементу управления для обработки обратных передач. Это может быть очень запутанный идентификатор или атрибут runat ... что бы это ни было, если вы застряли с веб-элементами управления, вы застряли с плохим html.

Ваш единственный верный (и неразрушающий) способ сделать то, что вы хотите, — это не расширить текущие элементы управления, а использовать Адаптеры управления. Уже есть управляющие адаптеры, использующие css для позиционирования. Вот сообщение ScottGu об этих CSS адаптеры.

person Community    schedule 04.11.2008