我在页面上有两个下拉列表。第一个列出项目,第二个列出用户。
用户列表中填充了一个对象数据库,用于提取所选项目的用户列表。
每当项目列表选择发生更改时,第二个ddl用户列表将始终恢复为列表中的第一个人,而不是选择在新项目之前选择的人员。
我希望能够选择一个新项目,而不是让UserList中的选定人员更改。
答案 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;
}