如何自动检测非空文本框?

时间:2013-11-01 06:07:56

标签: c# textbox

我正在为我的webapp做一个搜索功能。

但是,如果用户未在搜索框中输入任何搜索条件,我会尝试禁用搜索按钮。不幸的是,我无法允许我的webapp自动检测用户是否在搜索框中输入了最终会启用搜索按钮的内容。反之亦然,当用户从搜索文本框中删除任何搜索值时,该按钮将再次启用。

这是我键入的方式将条件放在我的搜索框中,名为txtData,但它不起作用。

    protected void txtData_TextChanged(object sender, EventArgs e)
    {
        if (!txtData.Text.Equals(""))
        {
            btnSearch.Enabled = true;
        }
    }

还有其他方法可以检测文本框中的单词吗?

问候。

4 个答案:

答案 0 :(得分:2)

protected void txtData_TextChanged(object sender, EventArgs e)
{
    btnSearch.Enabled = !String.IsNullOrWhiteSpace(txtData.Text);
}

答案 1 :(得分:1)

我建议你添加一个名为requiredfieldvalidator的验证器 http://www.w3schools.com/aspnet/control_reqfieldvalidator.asp

requiredfieldvalidator是一个验证器,它检查字段是否为空,如果是,则会显示错误消息并且不会回发,因此,在这种情况下,Web应用程序将不会执行搜索功能

如果你真的想在客户端禁用/启用按钮,我建议你在名为“onblur”的文本框中添加一个客户端事件,并创建一个函数(javascript),如果没有文本,则禁用搜索按钮文本框,如果有,则启用按钮。

或者如果你真的想在服务器端使用textchanged事件,你必须将该文本框的autopostback设置为true

  protected void txtData_TextChanged(object sender, EventArgs e)
    {
            btnSearch.Enabled = (!string.IsNullOrEmpty(txtData.Text.Trim()));
    }

答案 2 :(得分:0)

protected void txtData_TextChanged(object sender, EventArgs e)
{
    btnSearch.Enabled = txtData.Text.Length > 0;
}

答案 3 :(得分:0)

protected void txtData_TextChanged(object sender, EventArgs e)
{
    if (!txtData.Text.Equals("") || !txtData.Text.toString().Equal(string.empty))
    {
        btnSearch.Enabled = true;
    }
}