2014-06-15 28 views
0

我有一個複選框列表,並希望在選擇某些項目時,在項目之間插入',',例如選擇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
string[] selectedItems = myCheckboxList.Items.Cast<ListItem>() 
             .Where(o => o.Selected) 
             .Select(o => o.Value) 
             .ToArray(); 
string limit = string.Join(",", selectedItems); 
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。我正在使用一個列表,因爲我們不知道選擇了多少個項目。

相關問題