我正在设计一个控件,我需要它从一个具有可以包含服务器控件的文本属性的类继承。
这是一个示例来说明我要解释的内容
<asp:myCustomControl id="myCustomControl1" runat="server" someProperty="something">
<asp:hyperlink id="myCustomControl1Hyperlink" runat="server" navigateUrl="someUrl">
Click here
</asp:hyperlink>
</asp:myCustomControl>
Protected Overrides Sub Render( _
ByVal writer As HtmlTextWriter)
If Not String.IsNullOrEmpty(Text) Then
writer.Write( _
"some html" + _
Text + _
"some other html"
)
End If
End Sub
这样做的目的是我可以决定如何在我的控件的render
功能中呈现控件,同时显示我的Text
控件中的属性。
我的第一次尝试是继承自,literal
因为这可以让我<a>
在里面写标签没有任何问题。但是,最近我不得不<a>
按标签更改<asp:hyperlink>
标签,它会引发'{0}' does not allow child controls.
异常。
所以我尝试更改它,使其继承自panel
,但这次,在我的渲染函数中,我不能使用该Text
属性,Me.Text 也不能,因为它们都不存在。