2012-07-24 66 views
0

我有從使用結合一個數據庫中獲取它的列表項作爲顯示在下面的代碼段一個複選框列表的「選擇」:問題而檢索在ASP.net C#中的CheckBoxList

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

的GetValues( ):

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

help?

回答

3

該問題存在於你的foreach循環中。選擇多個值時調用CheckBoxList1.SelectedValue將導致返回第一個選定的值。

試試這個:

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