DropDownList多选,代码只看到一个项目被选中

本文关键字:一个 项目 多选 代码 DropDownList | 更新日期: 2023-09-27 18:21:45

我正在使用一个新的表单选择类型的网页,但我还没有使用过。

简而言之,我希望能够从DropDownList中选择多个用户,并将它们添加到数据库中的新记录中。

我有一个工作的asp.net表单函数(一个BootstrapjQuery脚本),可以正确地选择多个项目。然而,当我点击提交按钮创建对象时,我的代码只看到一个项目被选中,而不是多个。

我知道这段代码不是C#和ASP.NET的原生代码,但我想知道应该如何正确地从ALL项中检索所选状态。

C#和ASPX代码:

Project project = Project.GetByIdentification(ID);
foreach (ListItem item in ddlAssigned.Items)
{
    if (item.Selected)
    {
        ProjectUser newUser = project.ProjectUsers.AddNew();
        newUser.ProjectID = ID;
        newUser.UserID = Convert.ToInt32(item.Value);
        project.Save();
    }
}
<label class="control-label" for="ddlAssigned">Assigned Users:</label>
<div class="controls">
    <asp:DropDownList ID="ddlAssigned" runat="server" multiple="multiple"></asp:DropDownList>
</div>
<script type="text/javascript" src="../../Common/Scripts/bootstrap.multiselect.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $(document.getElementById('ddlAssigned')).multiselect({ includeSelectAllOption: true });
    });
</script>

概述以上代码:"ProjectUser"是"Project"的一个CHILD对象,并且只有两个字段:ProjectID和UserID,两者都是主键,因此每个条目都是唯一的。

ASPX代码有一个javascript元素,它利用了以下功能:https://github.com/davidstutz/bootstrap-multiselect

这只是造型。我尝试了有剧本和没有剧本,但同样的问题也出现了。

我遇到的问题是第4行"if(item.Selected)"。在我的DropDownList中,我选择了2个以上的用户,但这个if语句只运行一次true。根据代码,它只将第一个选定的项目视为已选定,其余项目则未选定。

如何使我的代码识别多项选择?有插件或脚本吗?

DropDownList多选,代码只看到一个项目被选中

您确定需要使用的控件是列表框而不是下拉列表吗?

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listbox.selectionmode.aspx

http://www.w3schools.com/aspnet/control_listbox.asp