C# 当复选框结果出现时,如何在选中复选框后减少复选框列表类别?

C# 当复选框结果出现时,如何在选中复选框后减少复选框列表类别?,c#,asp.net,webforms,visual-studio-sdk,C#,Asp.net,Webforms,Visual Studio Sdk,我有一个我正在做的网站的复选框列表类别。当选中该列表中的复选框时,我希望列表缩小,并显示我选中的结果。我该怎么做 Home.aspx <asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource2" DataTextField="SBrand" DataValueField="SBrand" AutoPostBack="True" SelectedIndexChanged="g

我有一个我正在做的网站的复选框列表类别。当选中该列表中的复选框时,我希望列表缩小,并显示我选中的结果。我该怎么做

Home.aspx

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource2"
    DataTextField="SBrand" DataValueField="SBrand" AutoPostBack="True"
    SelectedIndexChanged="gvStock_SelectedIndexChanged" 
    OnSelectedIndexChanged="CheckBoxList_SelectedIndexChanged" 
    OnPageIndexChanging="gvStock_PageIndexChanging" CssClass="checkboxlist">
</asp:CheckBoxList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DefaultConnection %>" 
    SelectCommand="SELECT DISTINCT [SBrand] FROM [Stock]">
</asp:SqlDataSource>

Home.aspx.cs

protected void CheckBoxList_SelectedIndexChanged(object sender, EventArgs e)
{
    string chkbox = "";
    Label1.Visible = false;
    for (int i = 0; i < CheckBoxList1.Items.Count; i++)
    {
        if (CheckBoxList1.Items[i].Selected == true)
        {
            if (chkbox == "")
            {
                chkbox = "'" + CheckBoxList1.Items[i].Text + "'";
            }
            else
            {
                chkbox += "," + "'" + CheckBoxList1.Items[i].Text + "'";
            }
            Label1.Text = chkbox;

            string mainconn = 
                ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
            SqlConnection sqlconn = new SqlConnection(mainconn);
            string sqlquery = "SELECT [pCode],[pID],[bCode], [SBrand], 
                [SDescription], [sCost] , [sPrice] , [SType] , [sSupplierName] , 
                [sSupplierDirect], [fCost] 
                FROM Stock 
                where SBrand in (" + Label1.Text + ")";
            SqlCommand sqlcomm = new SqlCommand(sqlquery, sqlconn);
            sqlconn.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sqlcomm);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            this.gvStock.DataSource = dt;
            this.gvStock.DataBind();

        }
    }

protectedvoid复选框列表\u SelectedIndexChanged(对象发送方,事件参数e)
{
字符串chkbox=“”;
标签1.可见=假;
对于(int i=0;i
我的意思是你的代码有SQL注入错误。@mjwills我该如何继续?你实际上需要从另一个角度来考虑。如果你在选择项目时隐藏未选择的项目,那么你选择的第一件事将隐藏所有其他项目。你需要从隐藏未选择的项目开始工作。这也是一个坏主意nce用户将随着时间的推移更改他们想要的内容。为什么要对用户隐藏潜在的选择?