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。
答案 0 :(得分:5)
您正在测试文本框本身是否为空,而不是文本:
if (string.IsNullOrEmpty(txt_SendAt.Text) == false)
答案 1 :(得分:4)
使用String.IsNullOrWhitespace(txt_SendAt.Text)
而不是检查null。
您正在检查控件是否为null
。它不会是null
;您需要检查文本框的Text
属性是否有值。因此,如果您使用IsNullOrEmpty
或IsNullOrWhitespace
,您将进行双重检查 - 如果控件的属性为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() != ""))