正在检查SQL数组是否包含DropDownList值

本文关键字:包含 DropDownList 是否 数组 检查 SQL | 更新日期: 2023-09-27 18:21:48

我有一个asp.net DropDownList,它从SQL视图中提取信息。通过另一个SELECT查询,我用表中的branchID's填充List。然后我想看看这个列表是否包含与branchDDL.SelectedValue相同的值。我在submit button click event:中有以下代码

List<int> branches;
while (reader1.Read())
{
    branches = (from IDataRecord r in reader1 select (int)r["branchID"]).ToList();
}
if (branches.Contains(branchDDL.SelectedValue))
{
    // Do something here.
}

问题是这行不通。if检查表明它有一些无效的参数。有人能给我指正确的方向吗?

正在检查SQL数组是否包含DropDownList值

这里的问题是将string的值与integers进行比较,使Equals()返回false。

正如MSDN页面所指定的:

通过使用默认相等比较器确定序列是否包含指定的元素。

在您的代码中,调用Equals时,一侧是string,另一侧是int,这永远不会相等。尝试将SelectedValue解析为一个整数,然后进行比较;它应该起作用。

if (branches.Contains(Int32.Parse(branchDDL.SelectedValue)))

所选的值是一个字符串,但您正在用int 填充列表