ASP.NET使用基于DropDownList控件选定值的WHERE绑定数据源

ASP.NET使用基于DropDownList控件选定值的WHERE绑定数据源,asp.net,Asp.net,我有一个下拉列表(称为nodeDropDownList),用于查询数据库表 数据库表“节点”包含以下数据: id | name ------------ 0 | Node1 1 | Node2 2 | Node3 下拉列表绑定到一个数据源(数据源a),该数据源刚刚从数据库中获取这个内容列表。要显示的数据字段为“名称”,数据字段值为“id” 第二个表“管道”如下所示: pipeid | pipename | nodeid ---------------------------- 0

我有一个下拉列表(称为nodeDropDownList),用于查询数据库表

数据库表“节点”包含以下数据:

id | name
------------
0  | Node1
1  | Node2
2  | Node3
下拉列表绑定到一个数据源(数据源a),该数据源刚刚从数据库中获取这个内容列表。要显示的数据字段为“名称”,数据字段值为“id”

第二个表“管道”如下所示:

pipeid | pipename | nodeid
----------------------------
0      | pipe1    | 0
1      | pipe2    | 0
2      | pipe3    | 1
3      | pipe4    | 2
Column: nodeid
Operator: ==
Source : Control
ControlId: nodeDropDownList
如您所见,一个节点可以有多个管道

还有第二个下拉列表,它绑定到不同的数据源(数据源B)。它的数据字段显示为“pipename”,数据字段值为“pipeid”

通常,用户会首先选择一个节点。回发后,将显示第二个下拉列表

在该数据源的配置中,它从数据库中选择所有“管道”,其中节点ID是先前选择的dropdownlist的节点ID。它通过WHERE表达式实现这一点。我将WHERE表达式设置为:

pipeid | pipename | nodeid
----------------------------
0      | pipe1    | 0
1      | pipe2    | 0
2      | pipe3    | 1
3      | pipe4    | 2
Column: nodeid
Operator: ==
Source : Control
ControlId: nodeDropDownList
预览窗口显示:

Expression            |  Value
nodeid == @nodeid     |   nodeDropDownList.SelectedValue
当我尝试运行查询时,它会抱怨类型(Int)与类型(Object)不可比较。这是因为nodeDropDownList.SelectedValue没有预定义的值

我的问题是,有没有办法将这个SelectedValue指定或强制转换为(Int),以便我的数据源可以绑定并与之比较


谢谢

您能告诉我们您在asp.net中使用的代码吗?这是一个简化的示例。实际上,复制和粘贴代码可能不会有什么帮助。你应该能够从我提供的信息中获得你所需要的所有信息。实际代码使用不同的变量名和更复杂的表。