绑定下拉列表更改为列表中的第一项

时间:2010-08-31 13:58:37

标签: asp.net drop-down-menu

我在页面上有两个下拉列表。第一个列出项目,第二个列出用户。

用户列表中填充了一个对象数据库,用于提取所选项目的用户列表。

每当项目列表选择发生更改时,第二个ddl用户列表将始终恢复为列表中的第一个人,而不是选择在新项目之前选择的人员。

我希望能够选择一个新项目,而不是让UserList中的选定人员更改。

1 个答案:

答案 0 :(得分:1)

在进行数据绑定之前,您需要存储当前所选用户的ID。一种方法是在Project ddl上处理SelectedIndexChanged,以便您可以获取User ddl中所选项的用户ID,然后手动执行绑定。绑定完成后,您可以尝试将ddl的SelectedValue设置为您存储的用户ID。

编辑:添加了一个例子:

在你的aspx中:

<asp:DropDownList ID="projectddl" runat="server" AutoPostBack="true" OnSelectedIndexChanged="projectddl_SelectedIndexChanged">
    <asp:ListItem Text="Project 1" Value="1" />
    <asp:ListItem Text="Project 2" Value="2" />
    <asp:ListItem Text="Project 3" Value="3" />
</asp:DropDownList>

    <asp:DropDownList ID="usersddl" runat="server">
    </asp:DropDownList>

在您的代码隐藏中:

protected void projectddl_SelectedIndexChanged(object sender, EventArgs e)
{
    string currentlySelectedUserId = usersddl.SelectedValue;

    // Do your user databinding here based on project selected

    usersddl.SelectedValue = currentlySelectedUserId;
}