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

あなたはクラスから継承しControl、すべての問題を解決します

于 2012-09-04T19:16:17.783 に答える