我一直在尝试创建一个与Panel控件完全相同的自定义控件,除了被几个div包围,从而创建一个圆形的外观.我没有能够找到一个如何做到这一点的体面的例子.
我需要能够在控件内放置文本和控件,并直接访问它,而不必参考面板(正是Panel控件的工作原理).
有没有人有这个例子?
解决方法
有两种方法可以做到这一点.一个是在你的控制下实现INamingContainer,它需要很多的努力.
另一种方法是从Panel继承,并覆盖RenderBeginTag和RenderEndTag方法来添加自定义标记.这很容易
public class RoundedCornersPanel : System.Web.UI.WebControls.Panel { public override RenderBeginTag (HtmlTextWriter writer) { writer.Write("Your rounded corner opening markup"); base.RenderBeginTag(writer); } public override RenderEndTag (HtmlTextWriter writer) { base.RenderEndTag(writer); writer.Write("Your rounded corner closing markup"); } }