添加新项目前检查列表框

时间:2013-03-20 19:13:32

标签: c# asp.net listbox

我想在添加新项目之前检查列表框中是否已存在某个项目。

            if (TeamNameTextBox.Text != "")
        {
            if (TeamNameListBox.Items.FindByValue(TeamNameListBox.Text) == null)
            {
                TeamNameListBox.Items.Add(TeamNameTextBox.Text);
                TeamNameTextBox.Text = "";

                int teamCountUpdate = TeamNameListBox.Items.Count;
                if (teamCountUpdate == 1)
                {
                    TeamCount.Text = teamCountUpdate.ToString() + " Team";
                }
                else
                {
                    TeamCount.Text = teamCountUpdate.ToString() + " Teams";
                }
            }
            else
            {
                AddTeamSeasonError.Text = "This team has already been added";
            }
        }
        else
        {
            AddTeamSeasonError.Text = "Please select a team";
        }

我已经检查文本框是否为空白,但是我需要检查用户尝试添加的项目是否已经在列表框中。

我试过这行:

if (TeamNameListBox.Items.FindByValue(TeamNameListBox.Text) == null)

但这不起作用,关于如何进行检查的任何建议?

3 个答案:

答案 0 :(得分:1)

使用此:

if (!TeamNameListBox.Items.Contains(TeamNameTextBox.Text))
                TeamNameListBox.Items.Add(TeamNameTextBox.Text);

答案 1 :(得分:0)

我想你的意思是

// search if the textbox value is found in the list. this comment shouldn't be part of the code
if (TeamNameListBox.Items.FindByValue(TeamNameTextBox.Text) == null) 

而不是

if (TeamNameListBox.Items.FindByValue(TeamNameListBox.Text) == null) // code from question

编辑:没有必要在变量旁边放置控件类型的名称 即使用TeamNameListBox而不是teamNames。而且,使用TeamNameTextBox。而不是teamName

答案 2 :(得分:0)

认为您至少应该尝试使用TeamNameTextBox代替TeamNameListBox作为参数

if (TeamNameListBox.Items.FindByValue(TeamNameTextBox.Text) == null)