2011-11-26 85 views
0

我在我的asp.net頁面中有一個複選框列表...我需要選擇基於它們的文本的複選框......從數據庫中獲取這些字符串值並將其存儲一個陣列中.....下面的代碼工作正常的單個文本..What我應該在array..how的情況下做我應該在環路如果根據他們的文本在複選框列表中選擇項目

for (int i = 0; i < chkbx.Items.Count; i++) 
     { 
      if (chkbx.Text == "Dress") 

      { 

       chkbx.Items[i].Selected = true; 

      } 
     } 

回答

3

下面的代碼應該爲你工作 -

string[] array = { "Dress", "Pen", "Table"}; 

    for (int i = 0; i < chkbx.Items.Count; i++) 
    { 
     if (array.Contains(chkbx.Items[i].Text)) 
     { 
      chkbx.Items[i].Selected = true; 
     } 
    } 
+0

感謝它的工作 – Karthik

2

傳遞數組值你可能想使用包含數組的方法包含文本值:

for (int i = 0; i < chkbx.Items.Count; i++) 
{ 
    if (myArray.Contains(chkbx.Items[i].Text)) 
    { 
     chkbx.Items[i].Selected = true; 
    } 
} 

其中myArray是您從數據庫填充的值的數組。

+0

它不工作,myArray.Contains(chkbx.Text)永遠返回true – Karthik

+0

你可以在你的問題中顯示填充你正在檢查的數組的代碼嗎? – Bert

+1

添加此(chkbx.Items [i] .Text)而不是chkbx.Text工作感謝您的幫助 – Karthik

0

以下是這樣做的一個很好的方式,

foreach (string item in myarr) 
      { 
       checkboxlist1.Items[checkboxlist1.Items.IndexOf(checkboxlist1.Items.FindByText(item))].Selected = true; 
      } 
相關問題