检索ASP.net C中复选框列表的“选择”时遇到的问题#

时间:2012-07-24 23:17:35

标签: c# asp.net ascx

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

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

的GetValues():

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

    return TabList;

上面的代码段成功检索了TabName列并将其放在checkboxlist中。但是,当在网站上选中复选框时,选择'价值没有流向我的代码。我错过了什么吗?我有以下代码:

 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;
}

帮助?

1 个答案:

答案 0 :(得分:3)

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

请改为尝试:

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