正在检查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检查表明它有一些无效的参数。有人能给我指正确的方向吗?
这里的问题是将string
的值与integers
进行比较,使Equals()
返回false。
正如MSDN页面所指定的:
通过使用默认相等比较器确定序列是否包含指定的元素。
在您的代码中,调用Equals
时,一侧是string
,另一侧是int
,这永远不会相等。尝试将SelectedValue
解析为一个整数,然后进行比较;它应该起作用。
if (branches.Contains(Int32.Parse(branchDDL.SelectedValue)))
所选的值是一个字符串,但您正在用int 填充列表