在ASP.NET/C#
中如何在从listbox
输入值之前检查textbox
是否具有重复值。
我试过
If(ListBox1.Items.Contains(TextBox1.Text))
{
// do nothing
}
else
{
ListBox1.Items.Add(TextBox1.Text);
}
我在第一行遇到错误。
答案 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
}