上一篇:用ASP实现简单的繁简转换 >>
也谈绑定dropdownlist(3)
我们可以把DDLItem表给对象化,把表里的字段当作其属性,我先创建个对象类,类名为DDLItemInfo,代码如下所示:
using System;
namespace BindDropDownList
{
/// <summary>
/// 主要是把DDLItem表对象化,
/// 把表的字段变为属性,可以任意的
/// 获取或设置该属性的值。
/// </summary>
public class DDLItemInfo
{
//定义内部变量
private int _id;
private string _ItemName;
//定义2重构造函数
public DDLItemInfo(){}
public DDLItemInfo( int id, string ItemName )
{
_id = id;
_ItemName = ItemName;
}
//定义成员的方法
public int id
{
get
{
return _id;
}
set
{
_id = value;
}
}
public string ItemName
{
get
{
return _ItemName;
}
set
{
_ItemName = value;
}
}
}
}
然后创建为该表使用的方法的类库,类名DDLItem.cs,代码如下所示:
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
namespace BindDropDownList
{
/// <summary>
/// 对DDLItem 表的各种SQL操作。
/// </summary>
public class DDLItem
{
public DDLItem(){}
//定义数据库连接字串
private const string SQL_CONN_STRING = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
//定义SQL语句
private const string SQL_SELECT_DDLIIEMS = "select id, ItemName from DDLItem order by id desc";
//构造一个方法来读取所有的DDLItem表里的记录
public IList Get_DDLItems()
{
//实例化一个可动态增加长度的数组
IList itemList = new ArrayList();
//定义数据库连接
SqlConnection myConn = new SqlConnection( SQL_CONN_STRING );
//定义SQL命令
SqlCommand myCommand = new SqlCommand( SQL_SELECT_DDLIIEMS, myConn );
//打开数据库
myCommand.Connection.Open();
//定义一个SqlDataReader
SqlDataReader rdr = myCommand.ExecuteReader();
//开始循环读取记录
while( rdr.Read() )
{
//构造一个实例化的DDLItem表对象
DDLItemInfo itemInfo = new DDLItemInfo(
rdr.IsDBNull( 0 ) ? 0 : rdr.GetInt32( 0 ),
rdr.IsDBNull( 1 ) ? string.Empty : rdr.GetString( 1 )
);
itemList.Add( itemInfo );
}
//关闭SqlDataReader和SqlConnection
rdr.Close();
myCommand.Connection.Close();
return itemList;
}
}
}
上面就把我们要操作的方法都定义好了,下面就是怎么调用的问题了,再创建一个Aspx的页面,代码如下所示:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace BindDropDownList
{
/// <summary>
/// Example3 的摘要说明。
/// </summary>
public class Example3 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
//使用DDLItem类的Get_DDLItems方法,取得记录
IList list = new DDLItem().Get_DDLItems();
//判断有没有记录
if( list.Count != 0 )
{
//把记录加到DropDownList1上
for( int i = 0 ; i < list.Count; i++ )
{
DDLItemInfo itemInfo = ( DDLItemInfo )list[i];
DropDownList1.Items.Add( new ListItem( itemInfo.ItemName, itemInfo.id ) );
}
}
}
}
}
这个话,我们在以后管理DDLItem内容时,直接调用Get_DDLItems这个方法就可以列出所有的DDLItem信息,并且一次开发完毕后,对于DDLItem表的结构,通过DDLItemInfo类的属性就能一清二楚的知道,这样也提高效率。
下一篇:内容管理系统的设计和选型 >>
相关文章:
- · css样式表的优先级别演示
- · 整理一个树型问题的解决方法
- · asp.net环境下的cmd命令执行
- · 常用javascript
- · 后台遍历一个HTML页面
- · 关于html上脚本语言的一点小释疑
- · 给网站添加一个注册表 之 “类的实现”
- · 给网站添加一个注册表 之 “类的设计”
- · 一个简单的上传类
- · 计数器的另一用法:自动切换首页图片
- · 性能微调提示
- · ASP.net中上传文件的操作
- · 对asp和asp程序员的一些话。。。
- · 英文版的Visual Studio.Net 2003 快捷键!
- · 如何定时运行ASP文件(转载)
- · 开发wap网站,还是碰到不少问题
- · 关于在浏览器中执行*.exe文件的深入探讨(z)
- · 在ASP 中实现ASP.Net 的DataGrid 功能(转载)
- · 在Web项目开发中使用BasePage类的巧用(继承System.Web.UI.Page)
- · 演示索引指示器的用法(C#)
- · ASP.NET中的ViewState
- · 蛙蛙学习asp.net总结(之一)
- · ASP.net初体验
- · 在ASP中利用ADO显示Excel文件内容的函数
- · ASP.NET 验证控件安全隐患
- · WindowsDNA与.net
- · 微软的常用资源列表
- · 蛙蛙推荐:asp中的多条件组合查询实现
- · 使用模板实现ASP代码与页面分离
- · 蛙蛙推荐:类中的静态成员和非静态成员(C#版)
- · 有关windows服务的创建,控制
- · 一个自定义的可以分页,排序,扩展显示grid控件
- · 转贴(电脑报):VBA开发实用指南
- · 蛙蛙推荐: 用web服务传递Dataset的一个简单例子
- · ASP中轻松实现变量名-值变换
- · J2EE还是.NET,这是一个问题
- · VML应用
- · Caching in ASP.NET
