我的C#代码隐藏看起来像这样:
if ((DT["BENEFIT_TYPE1"].Equals(0)))
{ DropDownList_Tracking_BenefitType1.SelectedValue = null; }
else if ((DT["BENEFIT_TYPE1"].ToString() = "" ))
{ DropDownList_Tracking_BenefitType1.SelectedValue = null; }
else
{DropDownList_Tracking_BenefitType1.SelectedValue = (DT["BENEFIT_TYPE1"].ToString());}
代码不喜欢"否则如果"线; parens里面的所有东西都用红色加下划线。当我将鼠标悬停在它上面时,弹出消息是:
作业的左侧必须是变量,属性或 索引
有人能告诉我如何解决这个问题吗?我试图在我的数据集中考虑NULL值。
答案 0 :(得分:4)
正如Juan指出的那样,您需要==
,但请注意NULL
和""
是不同的事情。
您可以通过以下方式检查null
或 为空:
else if (string.IsNullOrEmpty(DT["BENEFIT_TYPE1"].ToString()))
答案 1 :(得分:3)
您缺少'='字符。在C#中,使用双等号“==”进行比较。单个意味着赋值,因此您无法在if语句中分配错误。
尝试:
(DT["BENEFIT_TYPE1"].ToString() == "" ))
正如其他人所说,此处还有其他事项需要考虑。
要将字符串检查为null或为空,可以使用以下命令:
string.IsNullOrEmpty(yourString)
或者,如果您将空格字符串视为空
string.IsNullOrWhitespace(yourString)
如果DT是您从数据库中获取的数据表,则数据库中的空值不为空或空字符串而是DbNull,因此您应该这样比较:
DT["field"] == DbNull.Value
或者
DT.IsNull("field")