2011-11-08 96 views
0

我正在做一個數據綁定到一個複選框,所以我在我的複選框中顯示6個值,並且在創建它們時給用戶2個隨機值。在執行數據綁定後,如何檢查複選框中的值。如果值2和4給出了一個用戶,然後該複選框應顯示1至6中,我使用數據綁定做的和我要檢查2和4的值我怎麼能做到這一點如何檢查數據綁定後的複選框中的值

while (reader.Read()) 
     { 
      rolegiven.Add(reader["RoleName"].ToString()); 
     } 
     reader.Close(); 
     if (rolegiven.Any(item => item.Equals("Value1"))) 
     { 
      ckl_EditRole.SelectedIndex = 0; 
     }else{} 
     if (rolegiven.Any(item => item.Equals("Value2"))) 
     { 
      ckl_EditRole.SelectedIndex = 1; 
     }else{} 
     if (rolegiven.Any(item => item.Equals("Value3"))) 
     { 
      ckl_EditRole.SelectedIndex = 2; 
     }else{} 

如果值2和3(從數據綁定中我發現數值2和數值3是給用戶的)只有值3被檢查。我該怎麼辦

+0

我的猜測是你綁定CheckBoxList,你想檢查複選框項目2和項目4。不是嗎? – adatapost

+0

是的,我想選擇多個項目 – Mark

回答

1

您必須使用Items集合CheckBoxList控件。

List<string> rolegiven = new List<string>() 
    { 
     "A","B","C","D","E","F" 
    }; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      CheckBoxList1.DataSource = rolegiven; 
      CheckBoxList1.DataBind(); 

      CheckBoxList1.Items[0].Selected = true; 
      CheckBoxList1.Items[2].Selected = true; 
      CheckBoxList1.Items[4].Selected = true; 

      //or 

      if(rolegiven.Any(item => item.Equals("A"))) 
       CheckBoxList1.Items[0].Selected = true; 
      if(rolegiven.Any(item => item.Equals("D"))) 
       CheckBoxList1.Items[3].Selected = true; 
      ... 
     } 
    } 
相關問題