【问题标题】:displays search items even if there is !=即使有 != 也会显示搜索项
【发布时间】:2013-09-08 22:35:02
【问题描述】:

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

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");
            }
        } 
    }

【问题讨论】:

  • 下次你可以复制代码而不是提供图像吗?
  • @JonoRR 感谢您的建议。我用代码替换了图像。

标签: c# asp.net


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:
      if (SourceTextBox != null)
      {
      
      }
      

      改变这种格式

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

      【讨论】:

      • string.IsNullOrEmpty 已经检查了 null,所以你不需要第一个 SourceTextBox.Text != null 检查
      猜你喜欢
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 2018-01-01
      • 2013-07-16
      • 2016-12-15
      • 2011-11-05
      • 1970-01-01
      相关资源
      最近更新 更多