2013-07-09 65 views
0

我正在使用一种新的表单选择类型,我没有与之合作的网页上工作。DropDownList多选,代码只看到1个选择的项目

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

我有一个工作的asp.net窗体函数(Bootstrap jQuery脚本),并且可以正确选择多个项目。但是,当我点击提交按钮来创建对象时,我的代码只看到1个项目被选中,而不是多个。

我知道这段代码并不是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”是“项目”的子对象,和只有两个字段:专案编号和用户ID,两者都是主键,所以每个条目将是唯一的。

的ASPX代码具有一个JavaScript元件,利用此功能:https://github.com/davidstutz/bootstrap-multiselect

它只是造型。我试着用和不用脚本,同样的问题正在出现。

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

如何让我的代码识别多个选项?任何插件或脚本?

回答