也谈绑定dropdownlist(3)

原创 2004年08月10日 08:49:00

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

       我们可以把DDLItem表给对象化,把表里的字段当作其属性,我先创建个对象类,类名为DDLItemInfo,代码如下所示:

using System;

 

namespace BindDropDownList

{

    /// <summary>

    /// 主要是把DDLItem表对象化,

    /// 把表的字段变为属性,可以任意的

    /// 获取或设置该属性的值。

    /// </summary>

    [Serializable]

    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 );

            }

            //关闭SqlDataReaderSqlConnection

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

 

[Asp.Net]4种方法把数据绑定到Dropdownlist

第一种,把Array数组绑到dropdownlist 程序代码string[] Month =new string[7]{ "January", "February", "March", "April...
  • david_520042
  • david_520042
  • 2015年04月28日 19:12
  • 2461

DropDownList 控件 可编辑 查询 绑定数据

使用FineUI框架 前台显示 达到如下效果 一段JS搞定
  • yuluozhaoyang
  • yuluozhaoyang
  • 2016年03月15日 13:51
  • 369

DropDownList数据绑定第一项为空

我们在进行数据绑定时通常把一个表的某个字段绑定到DropDownList中,我们以pubs库的jobs表为例子,我们在显示时显示job_desc字段,values值绑定job_id字段。 方法一: ...
  • liuwei1128
  • liuwei1128
  • 2014年03月14日 21:36
  • 1178

DropDownList绑定数据表实现两级联动

场景一:平时我们在DropDownList控件下添加下拉选项时,都会使用它的Item.Add方法,直接在代码下添加。如果我们想添加或修改下拉选项,则必须去修改源代码。如果几个DropDownList控...
  • quwenzhe
  • quwenzhe
  • 2014年03月11日 13:39
  • 2157

为下拉式菜单(DropDownList)添加第一个选项

很多方法可以为为下拉式菜单(DropDownList)添加第一个选项,下面是Insus.NET小结了几个方法,仅供参考: Html code: View Code   数据...
  • linshichen
  • linshichen
  • 2016年07月13日 19:21
  • 3202

ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据

这篇博客主要说一下DropDownList绑定数据库表中数据,及选择相应DropDownList表中的值会根据此值从数据库中查询相应的数据信息。       一、简单介绍一下我要实现的功能...
  • u010075060
  • u010075060
  • 2015年04月23日 22:18
  • 2206

【.net基础】--DropDownList控件:两级联动

最近学习Asp.Net,发现很多控件都很有意思,例如:Canlender,AdRotator等。以前只知道有这样的页面效果,但是对这些控件了解并不多。不怕不知道,就怕不知道。...
  • successA
  • successA
  • 2015年05月11日 16:45
  • 1659

asp.net js实现dropdownlist二级联动(动态)

ASPX端代码: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/...
  • lishimin1012
  • lishimin1012
  • 2014年06月26日 21:06
  • 3194

DropDownList绑定及修改

一、DropDownList: 1、选项值保存到数据库:    Hashtable ht=new Hashtable();//这里用Hashtable    ht.Add("字段...
  • shan1774965666
  • shan1774965666
  • 2014年11月05日 17:03
  • 274

DropDownList控件的数据绑定

DropDownList控件如何进行数据绑定   【简单方法】在单击控件的向右箭头,在【编辑项】里面进行编辑添加 方法一、在页面初始化时候将集合绑定到DropDownList(人工绑定) public...
  • u010276845
  • u010276845
  • 2013年10月19日 10:11
  • 514
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:也谈绑定dropdownlist(3)
举报原因:
原因补充:

(最多只允许输入30个字)