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

如果未选中该复选框,它将在 Request.Form 集合中不可用。如果选中,它将在集合中,键为“checkbox”,值为“on”。

所以你可以很容易地检查它

Request.Form["checkbox"] != null
于 2012-10-04T14:00:23.683 回答
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 回答
0

XD

捂脸!

很明显......我需要“&&”而不是“||” 嘘

我怎么没有早点发现这个......

当然,它永远是一个“或”另一个:S

我需要睡觉...

于 2012-10-04T14:38:23.857 回答