0

エラー訂正コードがあり、「Request.Form ["checkbox"]」によって割り当てられた変数が、チェックされたときに指定された値(たとえば、「ティック」)か、値が何であれ、テストしたかったのです。チェックされていない場合になります。

Request.Formで値を割り当てる前に、変数を空の文字列として宣言します

私は以下を試しました:

if(IsGangMember != "ticked" || IsGangMember != "")
    {
        errorMessage = "The \"Search For Street Gang Member\" field contains an invalid value.";
    }

この:

if(IsGangMember != "ticked" || IsGangMember != null)
    {
        errorMessage = "The \"Search For Street Gang Member\" field contains an invalid value.";
    }

この:

if(IsGangMember != "ticked" || IsGangMember.IsEmpty())
    {
        errorMessage = "The \"Search For Street Gang Member\" field contains an invalid value.";
    }

また、値を画面に出力して(ボックスがオフになっている場合)、それを確認しようとしましたが、もちろん空であるため、値が空の文字列またはnull以外の値になる可能性があるかどうかはわかりません。

どんな助けでもありがたいです、ありがとう!

アップデート:

さて、与えられたすべての解決策は完全に理にかなっていますが、チェックを外してもエラーメッセージは設定されたままです。

これは文字通り私がそれでしているすべてです:

var IsGangMember = "";

それで:

IsGangMember = Request.Form["sIsGangMember"];

(sIsGangMemberは入力チェックボックスフィールドの名前です)次に:

if(IsGangMember != "ticked" || !String.IsNullOrEmpty(IsGangMember))
{
    errorMessage = "The \"Search For Street Gang Member\" field contains an invalid value.";
}

チェックを外したままにすると、errorMessageが割り当てられたままになります。:( なぜ?

4

3 に答える 3

1

使用するString.IsNullOrEmpty

if(!String.IsNullOrEmpty(IsGangMember))
{
   //test for other values
}
else
{
   //String is empty
}

逆に考えるべき

if(IsGangMember != "ticked" || String.IsNullOrEmpty(IsGangMember))
{
    errorMessage = "The \"Search For Street Gang Member\" field contains an invalid value.";
}
于 2012-10-04T14:01:01.710 に答える
1

チェックボックスがチェックされていない場合、Request.Form コレクションでは使用できません。チェックすると、キー「checkbox」と値「on」を持つコレクションに含まれます。

だからあなたは簡単にそれをチェックすることができます

Request.Form["checkbox"] != null
于 2012-10-04T14:00:23.683 に答える
0

XD

フェイスパーム!

明らかです....「||」ではなく「&&」が必要です ふふふ

どうしてこれをもっと早く捕まえなかったのか....

もちろん、常に「または」どちらかになります:S

睡眠が必要だ...

于 2012-10-04T14:38:23.857 に答える