asp.net自定义服务器控件设计时间支持

时间:2010-01-11 13:07:26

标签: asp.net custom-server-controls

我在设计视图中遇到自定义面板控件的问题。覆盖render方法在设计时没有影响。

如果我按如下方式扩展文本框,则设计时间显示div标签,然后显示文本框控件。尝试使用面板控件,它没有显示带有此处文本的div。看起来因为面板是一个容器控件,它在设计视图中的工作方式不同。真的很沮丧。关于如何让我的设计时间呈现我想要的方式的任何想法?

Public Class textboxextend
  Inherits TextBox

  Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

    writer.RenderBeginTag("div")
    writer.Write("here")
    writer.RenderEndTag()
    MyBase.Render(writer)
  End Sub
End Class

Public Class panelextend
  Inherits Panel

  Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

    writer.RenderBeginTag("div")
    writer.Write("here")
    writer.RenderEndTag()
    MyBase.Render(writer)
  End Sub
End Class

1 个答案:

答案 0 :(得分:0)

Panel与TextBox(和大多数控件)的工作方式不同。没有Render方法,因此永远不会调用override。 Panel使用RenderBeginTag和RenderEndTag。 您可能也想使用AddAttributesToRender方法。