首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于dropdownlist控件靠山代码整合

2013-09-05 
关于dropdownlist控件后台代码整合以下是我的代码哦,我总感觉重复性好多,希望大家能帮我把代码整合下,我也

关于dropdownlist控件后台代码整合
以下是我的代码哦,我总感觉重复性好多,希望大家能帮我把代码整合下,我也好参考学习一下哦
string strCon = ConfigurationManager.AppSettings["MsSql"];
        protected void Page_Load(object sender, EventArgs e)
        {
         if (!IsPostBack)
            {
                BindUserList();

                ddlGroupIDBind();
                ddlU_CNameBind();
                ddlUserIDBind();

            }
        }
//部门下拉框
        protected void ddlGroupIDBind()
        {
            string sqlSel = "select  GroupID,G_CName from sys_Group where G_ParentID !=0  order by GroupID ";
            SqlConnection con = new SqlConnection(strCon); ;
            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sqlSel, con);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            ddlGroupID.DataSource = ds.Tables[0].DefaultView;
            ddlGroupID.DataTextField = "G_CName";
            ddlGroupID.DataValueField = "GroupID";
            ddlGroupID.DataBind();
        }
        //员工姓名下拉框
        protected void ddlU_CNameBind()
        {
            string sqlSel = "select UserID,U_CName from sys_User where U_GroupID='" + ddlGroupID.SelectedValue + "' order by UserID  ";


            SqlConnection con = new SqlConnection(strCon);
            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sqlSel, con);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            ddlUCName.DataSource = ds.Tables[0].DefaultView;
            ddlUCName.DataTextField = "U_CName";
            ddlUCName.DataValueField = "U_CName";
            ddlUCName.DataBind();
        }

        //员工编号
        protected void ddlUserIDBind()
        {
            string sqlSel = "select UserID from sys_User where U_CName='" + ddlUCName.SelectedValue + "' order by UserID  ";
            SqlConnection con = new SqlConnection(strCon);
            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sqlSel, con);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            ddlUserID.DataSource = ds.Tables[0].DefaultView;
            ddlUserID.DataTextField = "UserID";
            ddlUserID.DataValueField = "UserID";
            ddlUserID.DataBind();
        }

//部门下拉框和姓名下拉框的二级联动触发事件
        protected void ddlGroupID_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.ddlUCName.Items.Clear();


            this.ddlUserID.Items.Clear();
            ddlU_CNameBind();
             ddlUserIDBind();
        }

        //姓名下拉框和员工编号下拉框的二级联动触发事件
        protected void ddlUCName_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.ddlUserID.Items.Clear();
            ddlUserIDBind();
        }
以上是我的后台代码,总感觉重复性有点多,希望大家能告诉我下,如果整合简化会好些哦 查询方法写成一个整的,没分层的么?怎么全部写在表示层?
[解决办法]
string sqlSel = "select  GroupID,G_CName from sys_Group where G_ParentID !=0  order by GroupID ";
            SqlConnection con = new SqlConnection(strCon); ;
            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sqlSel, con);
            DataSet ds = new DataSet();
            sda.Fill(ds);
这种数据库连接的代码重复写了好多次,可以封装到一个数据库操作类里面,定义一套方法访问。

[解决办法]
非这个莫属:
http://www.cnblogs.com/insus/archive/2013/01/28/2880618.html


see also:
http://www.cnblogs.com/insus/archive/2013/06/10/3130925.html

关于dropdownlist控件靠山代码整合
[解决办法]
代码全部写在页面上,只是效果达到罢了
------解决方案--------------------


第二步,可以定义一个封装绑定的方法,直接传sql,displayvalue,membervalue,控件名,就可以绑定dropdownlist。
[解决办法]
比如员工编号:


[解决办法]
  string sqlSel = "select  GroupID,G_CName from sys_Group where G_ParentID !=0  order by GroupID ";
            SqlConnection con = new SqlConnection(strCon); ;


            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sqlSel, con);
            DataSet ds = new DataSet();
            sda.Fill(ds);



类似于这样的代码,可以分一层去写。

热点排行