私はASP.NETカスタムコンポジットコントロール(Inherits System.Web.UI.WebControls.CompositeControl)を作成しています。Property TagKey()から何もありません
デフォルトでは、コントロールマークアップはタグで囲まれたレンダリングです。私はSystem.Web.UI.HtmlTextWriterTag列挙型から任意のタグとしてリターンを設定するために、TagKeyプロパティを乗り越えることができることを知っています。
私の質問:.NETでマークアップを追加せずにコントロールをレンダリングすることはできますか?
UPDATE(3/2/2011)回答ありがとうございました。今私の質問をどのように解決しているかを示したい。私はスワティの考えの一部を統合すると思います。具体的には、AddAttributestoRender()が、私はCompositeControl属性を保持する親のマークアップタグが不足しているので、それが必要かどうか疑問に思っています。
マークアップタグが含まれないようにするには、1つのプロパティをオーバーライドします。& CompositeControlの2つのメソッド。
Protected Overrides ReadOnly Property TagKey() As System.Web.UI.HtmlTextWriterTag
Get
' System defaults return as HtmlTextWriterTag.Span
Return HtmlTextWriterTag.Unknown
End Get
End Property
Public Overrides Sub RenderBeginTag(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.TagKey <> HtmlTextWriterTag.Unknown Then
MyBase.RenderBeginTag(writer)
End If
End Sub
Public Overrides Sub RenderEndTag(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.TagKey <> HtmlTextWriterTag.Unknown Then
MyBase.RenderBeginTag(writer)
End If
End Sub
を持ち帰りポイント:CompositeControlは を作業するのが好きな方法に対してその作業私はあなたがAddAttributesToRenderを(指摘しcodeulike大感謝を言わなければなりません)。私はそれを見逃していた。このナゲットは非常に便利です。 他の作家への注意 - この投稿から学びます。答えには大きな助けとサポートのリンクが含まれていました!非常に助かりました – MADCookie