0

我有一个复选框列表和列表视图。我不想在列表视图中显示复选框列表中的选定值。对于前。我选择三个项目,然后单击确定按钮,然后这三个项目将显示在列表视图中,如果我将其更改为选择四个项目而不是三个项目,那么它将显示四个项目。

我是这方面的新手,所以请帮助我。

谢谢

4

1 回答 1

1

像这样试试

Html 设计器页面

<asp:CheckBoxList   
            ID="CheckBoxList1"  
            runat="server"  
            RepeatColumns="2"  
            >  
            <asp:ListItem>SqlDataSource</asp:ListItem>  
            <asp:ListItem>XmlDataSource</asp:ListItem>  
            <asp:ListItem>AccessDataSource</asp:ListItem>  
        </asp:CheckBoxList> 

        <asp:Button   
            ID="Button1"   
            runat="server"   
            Text="Add Item"   

            Font-Bold="true"  
            ForeColor="SteelBlue" onclick="Button1_Click"  
            />  

            <asp:ListView ID="listview1" runat="server">
            <LayoutTemplate>
    <table runat="server" id="table1" >
      <tr runat="server" id="itemPlaceholder" ></tr>
    </table>
  </LayoutTemplate>
  <ItemTemplate>
    <tr id="Tr1" runat="server">
      <td id="Td1" runat="server">
        <%-- Data-bound content. --%>
        <asp:Label ID="NameLabel" runat="server"
          Text='<%#Eval("Name") %>' />
      </td>
    </tr>
  </ItemTemplate>
            </asp:ListView>

代码隐藏

protected void Button1_Click(object sender, EventArgs e)
    {
        List<ListItem> Citems = CheckBoxList1.Items.Cast<ListItem>().Where(n => n.Selected).ToList();
        DataSet dt = new DataSet();
        DataTable table1 = new DataTable();
        table1.Columns.Add("Name");


        if (Citems.Count() != 0)
        {

            for(int i=0;i<Citems.Count();i++)
            {
                table1.Rows.Add(Citems[i].Text);

            }
            dt.Tables.Add(table1);
            listview1.DataSource = dt;
            listview1.DataBind();
        }
    }
于 2013-09-17T08:57:43.123 回答