我正在使用一种新的表单选择类型,我没有与之合作的网页上工作。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语句只能运行一次。根据代码,它仅将第一个选定的项目视为已选中,其余未选中。
如何让我的代码识别多个选项?任何插件或脚本?
Yeahhhhh。我觉得很愚蠢。告诉我页面设计规范的人使用了“Drop Down List”这个词,当我写这个页面的时候,我把它放在了脑海里。忘记列表框甚至存在! –