0

我有一个复选框列表,它使用绑定从数据库中获取其列表项,如下面的片段所示:

 CheckBoxList1.DataSource = GetValues();
 CheckBoxList1.DataBind();

获取值():

    var query = tran_DContext.get_ImportTabs();
    foreach (var item in query)
    {
        TabList.Add(item.TabName);
    }

    return TabList;

上面的代码片段成功地检索到 TabName 列并将其放在复选框列表中。但是,当在网站上选中复选框时,“选择”值不会流向我的代码。我错过了什么吗?我有以下代码:

 private List<string> SelectedTabs()
{
    string strTemp = string.Empty;
    List<string> Seltabs = new List<string>();

    foreach (ListItem lst in CheckBoxList1.Items)
    {
        if (lst.Selected)
            Seltabs.Add(CheckBoxList1.SelectedValue);
    }
    return Seltabs;
}

帮助?

4

1 回答 1

3

问题存在于您的 foreach 循环中。选择多个值时调用CheckBoxList1.SelectedValue将导致返回第一个选择的值。

试试这个:

foreach (ListItem lst in CheckBoxList1.Items)
{
    if (lst.Selected)
        Seltabs.Add(lst.Value);
}
于 2012-07-25T00:12:19.503 回答