エラー訂正コードがあり、「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が割り当てられたままになります。:( なぜ?