0

我正在设计一个控件,我需要它从一个具有可以包含服务器控件的文本属性的类继承。

这是一个示例来说明我要解释的内容

<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 也不能​​,因为它们都不存在。

4

1 回答 1

0

你继承自ControlClass,你解决所有问题

于 2012-09-04T19:16:17.783 回答