【发布时间】:2012-10-04 13:48:37
【问题描述】:
我有一些纠错代码,我想测试以确保由“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 仍会被分配。 :( 为什么?
【问题讨论】:
-
您为什么不尝试使用其“ID”访问复选框?
-
IsGangMember 的声明是什么?
-
@Praveen 因为表单会在帖子上查找名称...无论如何,ID 和名称在语法上相同并不重要。
-
@Milind Thakkar 它最初被声明为 var IsGangMember = "";
-
我认为
!String.IsNullOrEmpty(IsGangMember)应该与String.IsNullOrEmpty(IsGangMember)不同。同时调试你的代码——断点