输入记录前检查列表框

时间:2011-10-18 10:16:23

标签: c# asp.net

ASP.NET/C#中如何在从listbox输入值之前检查textbox是否具有重复值。

我试过

If(ListBox1.Items.Contains(TextBox1.Text))
{
 // do nothing
}
else
{
 ListBox1.Items.Add(TextBox1.Text);
}

我在第一行遇到错误。

5 个答案:

答案 0 :(得分:2)

我认为你可以做这样的事情

 if (ListBox1.Items.IndexOf(ListBox1.Items.FindByValue(TextBox1.Text.Trim())) == -1)
 {
      // value is not exist (insert new)

 }

答案 1 :(得分:0)

试试这个

ls.Items.FindByText(TextBox1.Text) != null

这可能会有所帮助。

答案 2 :(得分:0)

if(ListBox1.Items.FindByText(TextBox1.Text) == null)
    ListBox1.Items.Add(TextBox1.Text);

答案 3 :(得分:0)

您需要检查listboxitem的值而不是listboxitem本身

bool contains = false;

foreach(ListItem item in ListBox1.items)
{
    if(item.value.equals(TextBox1.text)
        contains = true;
}

if(!contains)
  ListBox1.Items.Add(TextBox1.Text);

或者如果你可以使用linq

   if(!listBox.Items.Any(item => item.Value.Equals(textBox.text)
        ListBox1.Items.Add(TextBox1.Text);

答案 4 :(得分:0)

ListBox.Items是ListItems的集合,这有效:

ListItem new_item = new ListItem(TextBox1.Text);
if (!ListBox1.Items.Contains(new_item))
    {
    ListBox1.Items.Add(new_item);
    }
else
    {
    // handle duplicates
    }