如何创建和使用ASP.NET中自定义控件?
ASP.NET中自定义控件的创建和使用
在asp.net中创建和使用自定义控件为我们编写程序带来了灵活性,并且能够保护程序源码的版权。其思想是:建立一个cs文件,在该文件中创建的控件必须继承System.Web.UI.Control类,可以为控件创建属性、方法和事件。然后编译成为程序集,放到Bin目录下,剩下的就是如何使用了。
本文通过一个实倒对自定义控件的创建和使用进行说明。程序主要实现了对SqlServer2000中的一个内置数据库Northwind的表Employees进行访问,可以对该表中的任意字段进行升序或降序排列。
以下是详细的创建过程:
1、 创建一个DataSetClass.cs类文件,并输入如下内容:
using System;
using System.Web;
using System.Web.UI;
using System.Data;
using System.Data.SqlClient;
using System.Reflection;
[assembly: AssemblyTitle("获取数据的WEB控件")]
[assembly: AssemblyDescription("可以对返回的数据进行任意排序")]
[assembly: AssemblyConfiguration("无配置")]
[assembly: AssemblyCompany("ACCP")]
[assembly: AssemblyProduct("DATASETCLASS")]
[assembly: AssemblyCopyright("李赞红")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly:AssemblyVersion("1.1.33.222")]
namespace TeachShow.Charpter9.ReturnDataSet
{
/// <summary>
/// 要排序的字段
/// </summary>
public enum SortType
{
EmployeeID,
LastName,
FirstName,
Title,
TitleOfCourtesy,
BirthDate
}
/// <summary>
/// 排序方式,升或降序
/// </summary>
public enum SortStyle
{
desc,
asc
}
/// <summary>
/// DataSetClass 的摘要说明。
/// </summary>
public class DataSetClass:Control
{
private SortType psortType; //表示表中的字段。
private SortStyle psortStyle; //表示排序了方式是升还是降。
public SortType sortType
{
get
{
return this.psortType;
}
set
{
this.psortType=value;
}
}
public SortStyle sortStyle
{
get
{
return this.psortStyle;
}
set
{
this.psortStyle=value;
}
}
public DataSetClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
this.psortType=SortType.EmployeeID;
this.psortStyle =SortStyle.desc;
}
/// <summary>
/// 获取记录集
/// </summary>
/// <returns></returns>
public DataSet GetData()
{
string strType=null;
string strStyle=null;
string sql;
switch(psortType)
{
case SortType.EmployeeID:
strType="EmployeeID";
break;
case SortType.BirthDate:
strType="BirthDate";
break;
case SortType.FirstName:
strType="FirstName";
break;
case SortType.LastName:
strType="LastName";
break;
case SortType.Title:
strType="Title";
break;
case SortType.TitleOfCourtesy:
strType="TitleOfCourtesy";
break;
default:
strType="undefine";
break;
}
switch(psortStyle)
{
case SortStyle.asc:
strStyle="asc";
break;
case SortStyle.desc:
strStyle="desc";
break;
default:
strStyle="undefine";
break;
}
sql="select * from Employees order by "+ strType + " " + strStyle;
SqlConnection con=new SqlConnection("server=accp-lzh;uid=sa;pwd=sasa;database=Northwind");
SqlCommand cmd=con.CreateCommand();
cmd.CommandType=CommandType.Text;
cmd.CommandText=sql;
SqlDataAdapter ada=new SqlDataAdapter();
ada.SelectCommand=cmd;
DataSet ds=new DataSet();
con.Open();
ada.Fill(ds,"Employees");
con.Close();
return ds;
}
本文地址:http://www.45fan.com/a/question/72006.html