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. 2回目: 入力: Hello Worldin FTB--> ボタンをクリックWrite-->FTB.Text's contentがDataBaseに挿入されてFTB.Textクリアされ、ページが空で再度読み込まれますFreeTextBox--> コードも正常に動作します

  3. 3 回目:FTB空の状態にします ---> 書き込みボタンをクリックします --> コードがifコマンドにジャンプしますFTB.Text's content, データベースに挿入されます, データベースをチェックします, 新しいレコードが空の値で挿入されます ---> コードが機能します違う。

3 番目のオプションでデバッグを試みます。

FTB.Text="";

FTB.Text="" でさえ、コードがifコマンド内にジャンプして FTB.Text="" をデータベースに挿入する理由が本当にわかりません。

皆さんに知っておいていただきたい重要なことは、コードはfirst time(FreeTextBox が空である) では正常に動作しますが、一方では正しく動作3rdしません (FreeTextBox は 1 によってクリアされた後は空です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 に答える