c#中的条件语句问题

时间:2011-09-13 14:40:28

标签: c# asp.net

if (txt_SendAt.Text != null)
{
    //string SendAt_date = txt_Respondby.Text;
    DateTime Send_date = Convert.ToDateTime(txt_SendAt.Text);

    param[15] = new MySqlParameter("@SendDate", MySqlDbType.DateTime);
    param[15].Value = Send_date;
    command.Parameters.AddWithValue("@SendDate", Send_date);     

}
else
{
    param[15] = new MySqlParameter("@SendDate", MySqlDbType.DateTime);
    param[15].Value = now;
    command.Parameters.AddWithValue("@SendDate", now);

}

我有一个文本框,我从日历中选择日期和时间。当我将文本框留空时,它应该在else条件下执行语句,但它在if中执行语句。我哪里错了

如果我将其留空,我收到此错误字符串未被识别为有效的DateTime。

5 个答案:

答案 0 :(得分:5)

您正在测试文本框本身是否为空,而不是文本:

if (string.IsNullOrEmpty(txt_SendAt.Text) == false)

答案 1 :(得分:4)

使用String.IsNullOrWhitespace(txt_SendAt.Text)而不是检查null。

您正在检查控件是否为null。它不会是null;您需要检查文本框的Text属性是否有值。因此,如果您使用IsNullOrEmptyIsNullOrWhitespace,您将进行双重检查 - 如果控件的属性为null(不太可能)或者它只是空格(或空格)。

答案 2 :(得分:2)

尝试:

if (!string.IsNullOrEmpty(txt_SendAt.Text))

答案 3 :(得分:1)

txt_SendAt是指文本框控件。你想要txt_SendAt.Text

答案 4 :(得分:0)

您应该尝试将if更改为

if ((txt_SendAt.Text != null)||(txt_SendAt.Text.Trim() != ""))