使用C#使用带有多个选择项的下拉框

时间:2012-12-13 02:29:49

标签: c# asp.net

我正在使用带有复选框的下拉菜单,我可以选择更多的项目,我正在使用它将数据插入到我的详细信息视图中。我的问题是,如果我从下拉列表中选择多个项目,它只会插入所选的第一个项目,即使我从下拉框中选择了多个项目。我在这做错了什么? PLS。帮助

 protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
    {

        foreach (ListItem listItem in cblCustomerList.Items)
        {
            if (listItem.Selected)
            {

                string GroupName = cblCustomerList.SelectedValue;


            sqlcon.Open();
            string eno = ((TextBox)DetailsView1.FindControl("txteno")).Text.ToString();
            string empname = ((TextBox)DetailsView1.FindControl("txtempname")).Text.ToString();
            string sal = ((TextBox)DetailsView1.FindControl("txtsal")).Text.ToString();
            SqlCommand cmd = new SqlCommand("select eno from emp where eno = '" + eno + "'", sqlcon);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                lblmsg.Text = "Employee No already exists";
            }
            else
            {
                dr.Close();
                sqlcmd = new SqlCommand("insert into emp values('" + eno + "', '" + empname + "','" + sal + "' , '" + GroupName + "')", sqlcon);
                sqlcmd.ExecuteNonQuery();
              //  DetailsView1.ChangeMode(DetailsViewMode.Insert);
            }
            sqlcon.Close();
           // LoadDet();
            }

        }
    }

1 个答案:

答案 0 :(得分:1)

首先,您应该使用ListBox的SelectedItems属性,它为您提供所有选定项目的集合(然后您可以获取它们的值)。这比手动浏览所有项目更容易。

您的代码中的问题是您使用SelectedValue的{​​{1}}属性,而您应使用cblCustomerList的{​​{1}}属性。

试试这个:

Value