使用ASP.Net中的自定义控件[1-4]

发表于:2008-04-09来源:作者:点击数: 标签:自定义控件
——此文章摘自《ASP.NET 网络 数据库 开发 实例精解》定价:¥62.00 特价:¥46.50 详细 自定义控件是ASP.NET中很重要的一部分,使用它可以提高程序代码的重用性,即一个自定义控件在网页、自定义控件或控件的内部都可以再次使用。本实例创建的复选框控件列C
——此文章摘自《ASP.NET网络数据库开发实例精解》定价:¥62.00 特价:¥46.50 详细>>

    自定义控件是ASP.NET中很重要的一部分,使用它可以提高程序代码的重用性,即一个自定义控件在网页、自定义控件或控件的内部都可以再次使用。本实例创建的复选框控件列CheckBoxColumn自定义控件也可以在网站的任何地方再次使用。

    本实例介绍如何在ASP.NET中创建自定义控件、如何使用自定义控件,以及如何在自定义控件中定义公开属性和方法的实现方法。

    1.创建新ASP.NET应用程序

    在Visual Studio .NET 2003集成开发环境中创建新的ASP.NET Web应用程序,命名为Example_12_5。

    2.创建自定义控件CheckBoxColumn

    在应用程序Example_12_5中添加文件CheckItem.cs和文件 CheckColumn.cs。其中第一个文件定义类CheckBoxItem实现CheckBox控件;第二个文件定义类CheckBoxColumn 实现DataGrid控件中的CheckBoxColumn列。类CheckBoxItem继承于接口ITemplate,并在其中定义了标识控件名称的属性Name、标识控件数据域的属性DataField、标识控件是否为只读的属性ReadOnly、标识控件是否提交回传的属性 AutoPostBack和绑定控件数据的事件BindData()、当控件的选择项改变时触发的事件OnCheckChanged等。类 CheckBoxItem的程序代码如下:
    internal class CheckBoxItem : ITemplate
    {
    // <summary>
    // CheckBoxItem的构造函数
    // </summary>
    // <param name="editable">控件是否为可编辑</param>
    public CheckBoxItem(bool editable,string Name)
    {
    name = Name;
    readOnly = (editable==true)?false:true;
    }
    // <summary>
    // 实例化CheckBox控件,并添加到容器中
    // </summary>
    // <param name="container">添加控件的容器</param>
    void ITemplate.InstantiateIn(Control container)
    {
    //创建CheckBox控件
    CheckBox box = new CheckBox();
    //设置控件的属性和事件
    box.ID       = name;
    box.DataBinding += new EventHandler(this.BindData);
    box.AutoPostBack = autoPostBack;
    box.CheckedChanged += new EventHandler(this.OnCheckChanged);
    container.Controls.Add(box);
    }
    // <summary>
    //定义控件的事件CheckChanged
    // </summary>
    public event EventHandler CheckedChanged;

原文转自:http://www.ltesting.net