我正在使用我尚未使用过的新类型表单选择的网页。
简而言之,我希望能够从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”是“Project”的CHILD对象,只有两个字段:ProjectID和UserID,两者都是主键,因此每个条目都是唯一的。
ASPX代码有一个javascript元素,它使用了这个功能:https://github.com/davidstutz/bootstrap-multiselect
这只是造型。无论有没有脚本,我都尝试了,同样的问题也出现了。
我遇到的问题是第4行,“if(item.Selected)”。在我的DropDownList中,我选择了2个以上的用户,但是这个IF语句只运行真正的ONCE。根据代码,它只会将FIRST选中的项目视为已选择,其余项目未被选中。
如何让我的代码识别多个选择?任何插件或脚本?
答案 0 :(得分:0)