欢迎光临
我们一直在努力

也谈绑定dropdownlist(3)-ASP教程,ASP应用

建站超值云服务器,限时71元/月

在前面的文章里,讲了些方法,如果大家仔细体会的其实都还是老的一套方法,根本没有体现面向对象过程编程的思想。并且前面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类的属性就能一清二楚的知道,这样也提高效率。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 也谈绑定dropdownlist(3)-ASP教程,ASP应用
分享到: 更多 (0)

相关推荐

  • 暂无文章