即使有 !=,也显示搜索项目

本文关键字:显示 搜索 项目 | 更新日期: 2023-09-27 18:30:34

我的网站在虚拟数据库中搜索押韵。在代码中,如果文本框是!=执行搜索,否则显示错误,但是,即使搜索框中没有任何内容,它也会显示结果。为什么?

protected void Page_Load(object sender, EventArgs e)
    {
        ListBox1.Items.Clear();
        if (Page.PreviousPage != null)
        {
            TextBox SourceTextBox =
              (TextBox)Page.PreviousPage.FindControl("TextBox1");
            if (SourceTextBox != null)
            {
                cnn.Open();
                SqlCommand cmd = new SqlCommand("SELECT kelimeler FROM kelimelerim WHERE kelimeler LIKE @searchkey", cnn);
                cmd.Parameters.AddWithValue("@searchkey", "%" + SourceTextBox.Text);
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        ListBox1.Items.Add(dr.GetString(0));
                    }
                }
                cnn.Close();
            }
            else
            {
                ListBox1.Items.Add("Lütfen bir harf giriniz");
            }
        } 
    }

即使有 !=,也显示搜索项目

变量 SourceTextBox 永远不会为空,因为控件始终在发布期间呈现和提交。您需要检查文本框而不是文本框对象的文本,以确定是否输入了任何文本。

if (!string.IsNullOrEmpty(SourceTextBox.Text))
{
    /* do stuff */
}

您正在检查控件是否存在。它当然存在,你已经创造了它。

您必须检查它的值是否为空

if (SourceTextBox != null)
{
}

更改此格式

if (SourceTextBox.Text != null || !String.isNullorEmpty(SourceTextbox.Text))
{
}