分享
 
 
 

也谈绑定dropdownlist(3)

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在前面的文章里,讲了些方法,如果大家仔细体会的其实都还是老的一套方法,根本没有体现面向对象过程编程的思想。并且前面2篇文章的那种方法,代码的重复利用率不高。

我们可以把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类的属性就能一清二楚的知道,这样也提高效率。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有