Я разработал серверный элемент управления, унаследованный от WebControl, который оборачивает любое количество дочерних элементов управления и изменяет их вывод. Класс управления очень прост и содержит только метод RenderContents.
Вот пример того, как это было размещено на странице. (Не включено: регистрация пространств имен элемента управления.) Предполагается, что визуализированный вывод элемента управления RichImageField будет изменен:
<RX:HideWhitespaceControl runat="server">
<PublishingWebControls:RichImageField
FieldName="PublishingPageImage"
runat="server"
id="PageImage">
</PublishingWebControls:RichImageField>
</RX:HideWhitespaceControl>
Однако, когда я пытаюсь перейти на страницу, ни один из кодов в моем классе управления не кажется выполненным, и я получаю следующую ошибку:
Сообщение об ошибке парсера: Тип
'RX.SharePoint.Common.Controls.HideWhitespaceControl'
не имеет публичной собственности с именем
'RichImageField'.
Я не понимаю, почему появляется эта ошибка. На самом деле нет открытого свойства с именем RichImageField, так как это не свойство, а дочерний элемент управления!
Мой пользовательский элемент управления используется на сайте публикации SharePoint в макете страницы, поэтому я не уверен, что эта ошибка исходит от SharePoint. Но это выглядит как основная ошибка ASP.NET, так что мне не хватает?