我有一个复选框列表,并希望当我选择一些项目时,在项目之间插入',',例如选择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));
我不确定。我该怎么办?
答案 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。我正在使用列表,因为我们不知道选择了多少项。