如何在asp.net中获取服务器端的dropdownlistbox的多个值?

时间:2017-01-02 13:37:32

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

我正在开发一个asp.net应用程序。我用jquery multiselect选项实现了asp.net dropdownlistbox。用户可以在dropdownboxlist中选择多个值。我想在buttonclick事件的服务器端选择这些值。我正在javascript中选择所有值。我想在按钮点击事件中获取所有值。除了ajax之外,有没有办法在服务器端访问多个选定的值?任何帮助,将不胜感激。 这是我的下拉框。

 <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);
});

1 个答案:

答案 0 :(得分: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. Bootstrap JavaScript和CSS文件。
  3. jQuery BootStrap多选插件JavaScript和CSS文件。
  4. 会是这样的:

    <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>
    

    以下是Button click事件处理程序,在该处理程序中,对ListBox项执行循环并检查其Selected属性。如果它返回True,则选择Item,如果为False,则不选择Item。

    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);
    }