我可以测试什么值来检查变量以查找可能未经检查的复选框值

时间:2012-10-04 13:48:38

标签: c# html forms checkbox

我有一些错误纠正代码,我想测试以确保由" Request.Form ["复选框"]"分配的变量是检查时给出的值(让我们说"勾选")或者如果未选中它将会是什么值。

在我尝试使用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。 :(为什么?

3 个答案:

答案 0 :(得分:1)

如果未选中该复选框,则在Request.Form集合中将无法使用该复选框。如果选中,它将位于带有“checkbox”键和值“on”的集合中。

所以你可以通过

轻松检查
Request.Form["checkbox"] != null

答案 1 :(得分: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.";
}

答案 2 :(得分:0)

XD

捂脸!

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

我怎么不早点抓住这个......

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

我需要睡觉......