asp.net本身提供了很多控件,可以给我们这些懒人使用,但是我们"身在福中不知福",还要更懒一点.那么,我们要更懒的话,就得要开发一些自定义控件了.举个真实例子说吧,你在WebForm中添加一个Label控件和TextBox控件来显示你想要的东东,但你觉得这样需要拖两个控件,有点累,若你想只要拖一个控件就行的话,那么就需要开发一些自定义控件.本系列文章就以LabelTextBox为例来讲解一个自定义控件的这个开发过程.
1.呈现LabelTextBox
呈现之前,我们先了解一下它继承的类别,所有的控件都是由System.Web.UI命名空间中Control类派生的,要呈现自定义控件,需要重写Control类中的Render方法.下面是它的代码:
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);
}
}
}