コントロールを設計していますが、サーバー コントロールを含むことができるテキスト プロパティを持つクラスから継承する必要があります。
これは、私が説明しようとしていることを説明するための例です
<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 も存在しないため使用できません。