asp.net本身提供了很多控件,可以给我们这些懒人使用,但是我们"身在福中不知福",还要更懒一点.那么,我们要更懒的话,就得要开发一些自定义控件了.举个真实例子说吧,你在WebForm中添加一个Label控件和TextBox控件来显示你想要的东东,但你觉得这样需要拖两个控件,有点累,若你想只要拖一个控件就行的话,那么就需要开发一些自定义控件.本系列文章就以LabelTextBox为例来讲解一个自定义控件的这个开发过程.
1.呈现LabelTextBox
呈现之前,我们先了解一下它继承的类别,所有的控件都是由System.Web.UI命名空间中Control类派生的,要呈现自定义控件,需要重写Control类中的Render方法.下面是它的代码:
... #region using System;using System.Web.UI;namespace CustomControls...{ /**//// <summary> /// Summary description for LabelTextBox /// </summary> public class LabelTextBox : Control ...{ protected override void Render(HtmlTextWriter writer) ...{ writer.Write("<table style='width:180px;height:25px;border-width:0;'>"); writer.Write("<tr>"); writer.Write("<td><strong>LabelText</strong></td>"); writer.Write("<td><input name='TextBox' id='TextBox' type='text' /></td>"); writer.Write("</tr>"); writer.Write("</table>"); base.Render(writer); } }}#endregion