看了一下Net2.0的Sdk,于是就写下了这篇文章,2.0下复合控件的简单开发。文章是给初学者看的。。高手就跳过吧。


2.0下面多了个抽象类 CompositeControl,这个类是继承了WebControl的,并实现了INamingContainer,ICompositeControlDesignerAccessor接口。这个跟1.X有点不一样,当然,我们也可以继承WebControl来写复合控件。
其中:INamingContainer的作用是保证子控件的ID是唯一的。
ICompositeControlDesignerAccessor一看就知道是设计是用的。
2.0里面的一些复合控件,如Login,Wizard都是基础这个CompositeControl开发的。
CompositeControl重写了WebControl的Controls属性,DataBind方法。其中DataBind还有重载方法。
下面简单的写出一个注册复合控件,复合控件是包括TextBox,Button,RequiredFieldValidator,Label等。实现的功能有,用户提交时,客户端判断是否已录入用户名,邮箱。。提交后触发一个自定义的事件。小弟才疏学浅,如有问题,欢迎赐教。。。点击这里下载源码


代码如下:

2.0下复合控件的简单开发using System;
2.0下复合控件的简单开发
using System.Data;
2.0下复合控件的简单开发
using System.Configuration;
2.0下复合控件的简单开发
using System.Web;
2.0下复合控件的简单开发
using System.Web.Security;
2.0下复合控件的简单开发
using System.Web.UI;
2.0下复合控件的简单开发
using System.Web.UI.WebControls;
2.0下复合控件的简单开发
using System.Web.UI.WebControls.WebParts;
2.0下复合控件的简单开发
using System.Web.UI.HtmlControls;
2.0下复合控件的简单开发
using System.Security.Permissions;
2.0下复合控件的简单开发
using System.ComponentModel;
2.0下复合控件的简单开发
namespace WebControls

我是直接放入App_Code文件夹里面的。这样做的好处是不用编译都可以调用。
测试页default.aspx,代码如下:
cs 代码如下:
2.0下复合控件的简单开发using System;
2.0下复合控件的简单开发
using System.Data;
2.0下复合控件的简单开发
using System.Configuration;
2.0下复合控件的简单开发
using System.Web;
2.0下复合控件的简单开发
using System.Web.Security;
2.0下复合控件的简单开发
using System.Web.UI;
2.0下复合控件的简单开发
using System.Web.UI.WebControls;
2.0下复合控件的简单开发
using System.Web.UI.WebControls.WebParts;
2.0下复合控件的简单开发
using System.Web.UI.HtmlControls;
2.0下复合控件的简单开发
using WebControls;
2.0下复合控件的简单开发
public partial class _Default : System.Web.UI.Page 

相关文章: