1

我想知道是否有人像我一样使用 FreeTextBox 遇到了以下问题:

我的 aspx 页面中有一个 FreeTextBox。

以及将 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 个步骤时,我遇到了问题:

  1. 第一次,我让 FTB empty-> 单击按钮Write->LabelError显示:Write something!----> 代码工作正常

  2. 第二次:我输入:Hello WorldFTB-->单击按钮Write-->FTB.Text's content被插入数据库并被FTB.Text清除,然后页面再次加载为空FreeTextBox-->代码也可以正常工作

  3. 第三次:我让FTB空--->点击按钮Write -->代码跳转到if命令,FTB.Text's content插入数据库,我检查数据库,新记录插入空值--->代码工作错误的。

尝试在第 3 个选项中进行调试:

FTB.Text="";

我真的不知道为什么即使是 FTB.Text="" ,代码仍然跳入if命令并将 FTB.Text="" 插入数据库。

我想让大家知道的重要一点是:代码在first time(FreeTextBox 为空)中工作正常,但在3rd一个中工作错误(FreeTextBox 在被清除后为空2nd)。

怎么了???我想知道我的 Chrome 浏览器或缓存是否有某些原因?

按照建议,我清除了浏览器缓存,但我仍然遇到了这个问题。

请帮忙!!!

4

2 回答 2

5
 if(FTB.Text.ToString().Trim()!="")

或者

if(!FTB.Text.ToString().Equals(""))
于 2013-11-06T07:21:32.137 回答
1

尝试使用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
    }
于 2013-11-06T07:27:10.693 回答