在数据源查询中更改变量

Changing variable in datasource query

我有两个下拉菜单,其中第二个下拉菜单的选项取决于第一个下拉菜单中 select 的内容。两者都绑定到具有不同查询的 SqlDataSource。第二个下拉列表的 SqlDataSource 查询有一个变量链接到第一个下拉列表中的 selected 选项。

到目前为止,这有效 - 仅适用于默认值。当程序启动时,根据具有第一个(默认)项目的第一个下拉选项,第二个下拉选项是正确的 selected.

但是,当我 select 第一个列表中的不同项目时,第二个下拉列表中的项目不会更新。

我已经尝试了几种解决方案。首先,我制作了一个 SelectedIndexChanged 方法,该方法在第一个下拉列表 selection 发生更改时触发。像这样:

    protected void DropDown1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDown2.DataMember = DropDown1.SelectedValue;
    }

这行不通。我觉得当数据源被绑定时,刷新应该是自动的,并且需要最少的编码。我忽略了什么?

解决方案是检查第一个下拉列表的 "Enable AutoPostBack" 属性。如果更改了选择,这将导致回发到服务器。