从checkboxlist中获取项目并在其项目之间插入逗号

时间:2014-06-15 09:59:49

标签: asp.net checkboxlist

我有一个复选框列表,并希望当我选择一些项目时,在项目之间插入',',例如选择ID 123,将成为1,2,3。

 protected string addcomma(string[] stuff)
    {
        string s;
        foreach (string  i in stuff)
        {
            s += Items;
            s += ',';
        }
        return s;
    }

string limit = addcomma( (CheckBoxList1.SelectedValue));

我不确定。我该怎么办?

2 个答案:

答案 0 :(得分:0)

string[] selectedItems = myCheckboxList.Items.Cast<ListItem>()
                                       .Where(o => o.Selected)
                                       .Select(o => o.Value)
                                       .ToArray();
string limit = string.Join(",", selectedItems);

答案 1 :(得分:0)

您的方法部分正确。

CheckBoxList1.SelectedValue返回第一个选定的值,而不是CheckBoxList1对象的所有选定值。 您的addcomma方法应该是:

protected string addcomma(List<string> stuff)
{
    string s="";
    foreach (string i in stuff)
    {
        s += i;
        s += ',';
    }
    return s;
}

请注意,s字符串的最后一个字符始终为逗号。

您应该像以下一样使用它:

    List<string> selectedValues = new List<string>();

    foreach (ListItem li in CheckBoxList1.Items)
    {
        if (li.Selected)
        {
            selectedValues.Add(li.Value);
        }
    }
    string limit = addcomma(selectedValues);

PS。我正在使用列表,因为我们不知道选择了多少项。