我正在使用一種新的表單選擇類型,我沒有與之合作的網頁上工作。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」這個詞,當我寫這個頁面的時候,我把它放在了腦海裏。忘記列表框甚至存在! –