删除dropdownlist中vlaue符合条件的项
我这样写了不对
for (int i = 0; i < DropDownList3.Items.Count; i++)
            {
                if (DropDownList3.Items[i].Value.Contains(“11”))
                {
                    DropDownList3.Items.RemoveAt(i);
                }
            }
由于删除了一个后,项的为止发生了变化

解决方案 »

  1.   

    for (int i = DropDownList3.Items.Count; i >= 0; i--) 
                { 
                    if (DropDownList3.Items[i].Value.Contains(“11”)) 
                    { 
                        DropDownList3.Items.RemoveAt(i); 
                    } 
                }
      

  2.   

    试试从最后一个项开始遍历:
                for (int i = DropDownList3.Items.Count - 1; i >= 0; i--)
                {
                    if (DropDownList3.Items[i].Value.Contains(“11”))
                    {
                        DropDownList3.Items.RemoveAt(i);
                    }
                } 
      

  3.   

    怎么我的环境里面DropDownList3.Items[i].Value.Contains(“11”)) 不能编译通过?Value有Contains这个方法吗?
      

  4.   

    给你个提示解决下,可以和listview相似:/// <summary>
            /// 去掉选择项
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void plusselected_Click(object sender, EventArgs e)
            {
                foreach (ListItem item in TargetFile.Items)
                {
                    if (item.Selected == true)
                    {
                        SourceFile.Items.Add(item);
                        item.Selected = false;
                    }
                }
                foreach (ListItem item in SourceFile.Items)
                {
                    TargetFile.Items.Remove(item);
                }
            }
      

  5.   

     foreach (ListItem item in ddlTest.Items) 
            {
                if (item.Text.Contains("6")) 
                {
                    ddlTest.Items.Remove(item);
                    break;
                }
            }
      

  6.   

    for (int i = 0; i < DropDownList3.Items.Count; i++) 
                { 
                    if (DropDownList3.Items[i].Value.Contains(“11”)) 
                    { 
                        DropDownList3.Items.RemoveAt(i); 
                        i--;
                    } 
                } 
      

  7.   

    有条件的选择结束,和变量的递增for (int i = 0; i < DropDownList3.Items.Count; ) 
                { 
                    if (DropDownList3.Items[i].Value.Contains(“11”)) 
                    { 
                        DropDownList3.Items.RemoveAt(i); 
                    } 
                    else{
                      i++;
                     }
                }