我正在写一个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