【问题标题】:DropDownList Multiple Selection, code only sees 1 item selectedDropDownList 多选,代码只看到 1 项被选中
【发布时间】:2013-07-09 17:30:04
【问题描述】:

我正在使用一种我没有使用过的新型表单选择的网页。

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

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

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

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 语句只运行一次。根据代码,它只看到第一个被选中的项目被选中,其余的都没有被选中。

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

【问题讨论】:

    标签: c# asp.net twitter-bootstrap drop-down-menu


    【解决方案1】:

    【讨论】:

    • 是的。我觉得很笨。告诉我页面设计规范的人使用了“下拉列表”这个词,我在写页面时一直在脑海中。甚至忘记了 ListBox 的存在!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多