用户控件
后缀名为.ascx的文件
手工将.aspx改为.ascx文件后需要修改四处地方
*将System.Web.UI.Page改为System.Web.UI.UserControl
*将Codebehind="***.aspx.cs"改为"***.ascx.cs"
*将Page属性改为Control(与二同一行)
*删除多余的<form>标志
可以自定义属性方法和事件
不能可视化编辑,页面设计时不能控制控件大小且要与使用它的Web页面在同一个项目中
动态装载用户控件
this.FindControl("Form1").Controls.Add( this.LoadControl("***.ascx") );
复合控件(Composite control)
实际上是一个类,后缀名为.cs的文件
在该类中必须完成
*继承Control或WebControl类
*替换CreateChildControls方法
*实现INamingContainer接口
*替换Render方法(可选)
可将自定义的控件加入到Visual Studio的工具箱中
自定义服务器控件(Custom Server control)
同样是后缀名为.cs的文件
通过替换Render方法自己设计服务器控件界面,而不是CreateChildControls方法创建控件
可以使用BindableAttribute,CategoryAttribute,DefaultValueAttribute等类或自定义属性类,定义自己的控件属性