我正在设计一个控件,我需要它继承一个具有可以包含服务器控件的text属性的类。
这是一个例子来说明我想要解释的内容
<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,因为它们都没有不存在。
答案 0 :(得分:0)
您继承自Control
Class,并解决所有问题