文件名:MyControls.cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace MyControls
{
//Attribute DefaultProperty指定组件的默认属性,ToolboxData指定从IDE的工具箱中拖动自定义控
//件时为它生成的默认标记
[DefaultProperty("Text"), ToolboxData("<{0}:MyControl runat=server></{0}:MyControl>")]
//类MyControl派生自WebControl
public class MyControl : System.Web.UI.WebControls.WebControl
{
private string text;
//Attribut Bindable指定属性是否通常用于绑定
//Category指定属性或事件将显示在可视化设计器中的类别
//DefautValue用于指定属性的默认值
[Bindable(true), Category("Appearance"), DefaultValue("")]
public string Text
{
get { return text; }
set { text = value; }
}
//重写WebControl的Render方法,采用HtmlTextWriter类型的参数
protected override void Render(HtmlTextWriter output)
{
//发送属性Text的值到浏览器
output.Write(Text);
}
}
}
用如下命令把用户自定义控件编译成dll文件,然后把编译成的MyControls.dll文件放到Web目录的bin子目录下。
csc /t:library /out:MyControls.dll MyControls.cs
想页面注册用户自定义控件
<%@Register TagPrefix="ucc" Namespace="MyControls" Assembly="MyControls"%>