-1

我在一个表单中有许多下拉列表,所有这些都用Taskid数据库表中的相同 's 填充。

现在,当我在任何下拉列表中选择了某个值时,该值不应显示在任何其他下拉列表中。

4

2 回答 2

0

您可以进行一些验证,以便当用户提交时,它可以检查下拉列表中的匹配项目。

或者您需要考虑使用该.selectedIndexChanged事件:

示例: http: //msdn.microsoft.com/en-us/library/1wd7hsyy (v=vs.100).aspx

如果您在此事件中放置一些逻辑,则可以在每个列表中选择一个项目时删除其他列表中的项目/取消选择项目。如果您删除项目,这可能会变得复杂,因为每次选择更改时您都必须重新绑定并在每次进行选择时回发。

我会选择选项 1:根据您问题中的详细信息进行验证检查。

于 2013-06-26T10:00:33.080 回答
0

伪代码:

protected void DropDownList1_SelectedIndexChanged(Object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList) sender;
    IEnumerable<ListItem> selectedTasks = ddl.Items
        .Cast<ListItem>().Where(li => li.Selected);

    foreach(ListItem item in selectedTasks)
    {
        DropDownList2.Items.Remove(item);
        DropDownList3.Items.Remove(item);
        DropDownList4.Items.Remove(item);
        DropDownList5.Items.Remove(item);
        // ...
    }
}
于 2013-06-26T10:01:57.903 回答