2013-07-09 63 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語句只能運行一次。根據代碼,它僅將第一個選定的項目視爲已選中,其餘未選中。

如何讓我的代碼識別多個選項?任何插件或腳本?

回答