Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何删除asp.net中绑定的复选框列表中的一项?_C#_Asp.net_Checkboxlist - Fatal编程技术网

C# 如何删除asp.net中绑定的复选框列表中的一项?

C# 如何删除asp.net中绑定的复选框列表中的一项?,c#,asp.net,checkboxlist,C#,Asp.net,Checkboxlist,这是我的绑定代码: string connection_string = ConfigurationManager.ConnectionStrings["DBC"].ConnectionString; SqlConnection con = new SqlConnection(connection_string); con.Open(); SqlDataAdapter dataadapter = new SqlDataAda

这是我的绑定代码:

string connection_string = ConfigurationManager.ConnectionStrings["DBC"].ConnectionString;
            SqlConnection con = new SqlConnection(connection_string);
            con.Open();
            SqlDataAdapter dataadapter = new SqlDataAdapter("Select * from stud_table", con);
            DataSet ds = new DataSet();
            dataadapter.Fill(ds);
            CheckBoxList1.DataSource = ds;
            CheckBoxList1.DataTextField = "Name";
            CheckBoxList1.DataValueField = "Rollno";
            CheckBoxList1.DataBind();
                con.Open();
按钮代码:

protected void Button2_Click(object sender, EventArgs e)
{
    for(int i=0;i<CheckBoxList1.Items.Count ;i++)
    {
        if (CheckBoxList1.Items[i].Selected == true)
        {
            CheckBoxList1.Items.RemoveAt(i);
        }
    }
 }
protectedvoid按钮2\u单击(对象发送者,事件参数e)
{

对于(int i=0;i给你,希望这有助于:

public partial class Default : System.Web.UI.Page
{
    private readonly string connection_string = ConfigurationManager.ConnectionStrings["DBC"].ConnectionString;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
            BindData();
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        var itemsToDelete = new ListItemCollection(); 

        foreach (ListItem item in CheckBoxList1.Items)
        {
            if (item.Selected)
                itemsToDelete.Add(item);
        }

        foreach (ListItem item in itemsToDelete)
        {
            //Assuming your id column is Rollno
            DeleteFromDB(item.Value);
            CheckBoxList1.Items.Remove(item);
        }
    }

    private void BindData()
    {
        using (var con = new SqlConnection(connection_string))
        {
            con.Open();
            using (var adapter = new SqlDataAdapter("SELECT * FROM stud_table", con))
            {
                var ds = new DataSet();
                adapter.Fill(ds);
                CheckBoxList1.DataSource = ds;
                CheckBoxList1.DataTextField = "Name";
                CheckBoxList1.DataValueField = "Rollno";
                CheckBoxList1.DataBind();
                con.Close();
            }
        }
    }

    private void DeleteFromDB(string rollNo)
    {
        int id = 0;
        if (Int32.TryParse(rollNo, out id))
        {
            using (var con = new SqlConnection(connection_string))
            {
                con.Open();
                string commandText = String.Format("DELETE FROM stud_table WHERE Rollno={0}", id);
                using (var command = new SqlCommand(commandText, con))
                {
                    command.ExecuteNonQuery();
                    con.Close();
                }
            }
        }
    }
}

在DeleteFromDB上放置一个制动点并调试代码。数据库中是否存在传递到delete语句的rollNo否在DeleteFromDB中的if条件后不执行delete语句它将执行按钮2数据库中的rollNo是什么数据类型?如果是字符串/varchar/nvarchar,则删除if语句,且int id=0 and将delete语句更改为string commandText=string.Format(“从stud_表中删除,其中Rollno={0}”,Rollno);