我正在寫一個ASP.NET自定義組合控件(繼承System.Web.UI.WebControls.CompositeControl)。什麼都沒有Property TagKey()
默認情況下,我的控件標記呈現由標記包圍。我知道我可以通過TagKey屬性來將返回值設置爲我想從System.Web.UI.HtmlTextWriterTag枚舉中獲得的任何標記。
我的問題:我可以讓我的控件呈現沒有.NET添加標記周圍嗎?
UPDATE(3/2/2011)Thanks Swati for your answer。我想說明我現在如何解決我的問題。我想我會整合斯瓦蒂的一些想法。具體來說,AddAttributestoRender(),但我想知道是否需要,因爲CompositeControl將缺乏父標記標記來保存屬性。
當我不想要包含標記標記時,我覆蓋CompositeControl的兩個方法&。
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的喜歡的工作 我不得不說,非常感謝codeulike您指出的AddAttributesToRender()的方式工作。我一直想念那個。這塊金塊是超級有用的。 請注意其他作家 - 從這篇文章學習。答案包括很大的幫助和支持鏈接! WONDERFULLY有幫助 – MADCookie 2009-08-28 19:38:25