Заставить элементы управления содержать только определенные элементы, такие как ContentTemplate - PullRequest
0 голосов
/ 17 февраля 2010

Хорошо, у моей команды возникли проблемы с элементом управления вкладками ajaxToolkit, он не очень хорошо работает с частями нашего сайта (в основном, с проблемами jquery, некоторым другим javascript, слишком многими вещами, которые можно изменить)

Итак, я планирую написать другой элемент управления, который использует jQuery для достижения функциональности табуляции: я делал это раньше, и jQuery почти тривиален. У меня проблемы с тем, чтобы заставить сам элемент управления эмулировать элемент управления AjaxToolkit, я хотел бы, чтобы это был правильный веб-элемент управления со структурой шаблона содержимого / заголовка.

Однако я не могу заставить asp разрешать только эти теги внутри, поскольку ретранслятор делает это с различными тегами <* template>, только заставить его отображать эти теги как параметры внутри разметки. Как бы я достиг этой функциональности?

1 Ответ

2 голосов
/ 17 февраля 2010

Например, ContentTemplate, например, Repeater использует свойство ITemplate с несколькими атрибутами, вот соответствующая информация:

[ParseChildren(true), PersistChildren(false)]
public class Repeater : Control, INamingContainer
{
  [PersistenceMode(PersistenceMode.InnerProperty)]
  public virtual ITemplate HeaderTemplate { get; set; }

  [PersistenceMode(PersistenceMode.InnerProperty)]
  public virtual ITemplate ItemTemplate { get; set; }
}

Это комбинация ParseChildrenAttribute , PersistenceModeAttribute и использования PersistChildrenAttribute для отображения их в качестве внутренних тегов.

...