Ошибка при проверке, является ли текст в freetextbox пустым или нет
Интересно, встречал ли кто-нибудь еще проблему с FreeTextBox, как я:
У меня есть FreeTextBox на моей странице aspx.
И код для записи текста в FreeTextBox (FTB) в базу данных:
protected void btnWrite_Click(object sender, EventArgs e)
{
if(FTB.Text!="")
{
...// insert FTB.Text into DataBase
FTB.Text="";//clear the text in FTB
}
else LabelError.Text="Write something!";
}
Я получил проблему, когда я делаю 3 шага:
Первый раз я отпустил FTB
empty
-> нажмите кнопкуWrite
->LabelError
шоу:Write something!
----> код работает нормально2-й раз: я печатаю:
Hello World
вFTB
-> нажмите кнопкуWrite
-> TheFTB.Text's content
вставляется в базу данных иFTB.Text
очищается, затем снова загружается страница с пустымFreeTextBox
-> Код тоже работает отлично- 3-й раз: я позволил
FTB
пусто ---> нажмите кнопку Написать -> код перейти вif
командаFTB.Text's content
вставлен в базу данных, я проверяю базу данных, новая запись вставляется с пустым значением ---> код работает неправильно.
Попробуйте отладить в 3-м варианте:
FTB.Text="";
Я действительно не знаю, почему даже FTB.Text="", код все еще прыгает внутрь if
команду и вставьте FTB.Text = "" в базу данных.
Важная вещь, которую я хочу, чтобы вы все знали: код прекрасно работает в first time
(FreeTextBox пуст), но в 3rd
один (FreeTextBox пуст после очистки 2nd
один).
Что не так??? Интересно, есть ли какая-то причина в моем браузере Chrome или в кэше?
Как рекомендовано, я очищаю кэш браузера, но у меня все еще есть эта проблема.
Пожалуйста помоги!!!
2 ответа
if(FTB.Text.ToString().Trim()!="")
или же
if(!FTB.Text.ToString().Equals(""))
Попробуй использовать string.IsNullOrEmpty
if(!string.IsNullOrEmpty(FTB.Text)
{
// insert value in DB
}
else
{
// show message
}
Или вы также можете использовать.Trim(), так как могут быть пробелы
if(!string.IsNullOrEmpty(FTB.Text.Trim())
{
// insert value in DB
}
else
{
// show message
}