2017-01-02 60 views
0

我正在開發一個asp.net應用程序。我用jquery multiselect選項實現了asp.net dropdownlistbox。用戶可以在下拉列表中選擇多個值。我希望在buttonclick事件中的服務器端選擇這些值。我正在選擇JavaScript中的所有值。我正在嘗試獲取按鈕單擊事件中的所有值。除了ajax,有沒有辦法在服務器端訪問多個選定的值?任何幫助,將不勝感激。 這是我的dropdownbox。如何獲取asp.net中服務器端的dropdownlistbox的多個值?

<h3>Awarded To:&nbsp;<asp:DropDownList ID="ddlvendors" CssClass="limitedNumbSelect2" Multiple="True" runat="server" Width="30%"></asp:DropDownList></h3> 

我在頁面加載事件在服務器端綁定值。

這是我以前的代碼。

$(".limitedNumbSelect2 option").each(function() { 
       var val = $(this).val(); 
       var tempVal = $(".limitedNumbSelect2").val(); 
       if (tempVal.indexOf(val) >= 0 && selected.indexOf(val) < 0) { 
        selected.push(val); 
       } else if (tempVal.indexOf(val) < 0 && selected.indexOf(val) >= 0) { 
        selected.splice(selected.indexOf(val), 1); 
       } 

      }) 

這是代碼以使基於從下拉列表中選擇的值的所有的複選框。

$('#<%= gdvRegretletter.ClientID %> input[type="hidden"]').each(function() { 
    $(this).closest('tr').find('input[type="checkbox"]').prop('disabled', false); 
}); 
+0

如果你使用MVC,然後回來後用ajax – ViVi

+0

得到使用jQuery的值,然後用ajax – Valkyrie

+0

在將它們發送到服務器謝謝您的答覆。我在sharepoint visual web部分。我的ajax調用不起作用,因爲我使用的是webparts。所以除了我正在嘗試的ajax。 –

回答

2

一個ListBox像下面創建:

<asp:ListBox ID="lstFruits" runat="server" SelectionMode="Multiple"> 
    <asp:ListItem Text="Mango" Value="1" /> 
    <asp:ListItem Text="Apple" Value="2" /> 
    <asp:ListItem Text="Banana" Value="3" /> 
    <asp:ListItem Text="Guava" Value="4" /> 
    <asp:ListItem Text="Orange" Value="5" /> 
</asp:ListBox> 
<asp:Button Text="Submit" runat="server" OnClick="Submit" /> 

添加以下項目:

  1. jQuery的JS文件
  2. 引導JavaScript和CSS文件。
  3. jQuery BootStrap多選插件JavaScript和CSS文件。

這將是這樣的:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" 
    rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script> 
<link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" /> 
<script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(function() { 
     $('[id*=lstFruits]').multiselect({ 
      includeSelectAllOption: true 
     }); 
    }); 
</script> 

以下是按鈕單擊事件處理程序,在其內部一個循環在ListBox中的項目和其選定的屬性被選中執行。如果它返回True,則選擇該項目,如果爲False,則不選擇該項目。

protected void Submit(object sender, EventArgs e) 
{ 
    string message = ""; 
    foreach (ListItem item in lstFruits.Items) 
    { 
     if (item.Selected) 
     { 
      message += item.Text + " " + item.Value + "\\n"; 
     } 
    } 
    ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('" + message + "');", true); 
} 
+0

謝謝你的回答。 –

+0

我是最符合上述實施。來自數據庫的綁定值也。我在clientcript附近收到錯誤消息。錯誤表示名稱clientcontext在當前上下文中不存在。我可以知道這裏應該包括什麼嗎?謝謝你 –

+0

你可以編輯你的問題,你在代碼後面寫了些什麼?所以我得到一個更好的主意? – Valkyrie

相關問題