我开发了一个继承自 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 错误,所以我错过了什么?