2011-11-26 50 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; 
      } 
相关问题