在asp.net中使用Checkbox的多选下拉列表

时间:2015-01-23 05:28:34

标签: c# jquery asp.net twitter-bootstrap checkbox

我使用bootstrap multiselect下拉列表,checkbox.its在没有主表单的情况下运行良好。但它不能使用主表单:

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<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>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
 <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 ID="Button1" Text="Submit" runat="server" OnClick="Submit" />

</asp:Content>

C#代码:

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

我已经提到了

this article:

通过使用此代码我在页面上有一个下拉列表,但下拉单击事件它没有触发我无法看到任何列表。 请帮助我解决这个问题。

2 个答案:

答案 0 :(得分:0)

请删除前2个<script>和2个<link>代码,不要删除上一个<script><link>代码。你的问题将得到解决。

答案 1 :(得分:0)

我知道这篇文章现在好几个月了,但对于其他用户来说这就是解决方案。

  1. 首先,使用直接定义id的最佳实践,如下所示。 (您可能需要将ClientID模式设置为静态)

    $(&#39;#lstFruits&#39)。多选({     includeSelectAllOption:true });

  2. 要触发ListBox选择的索引更改(我假设通过下拉单击事件表示选择的索引更改)将listbox的autopostback属性设置为true

  3. 有关详细信息,请参阅以下链接 http://www.codewithasp.net/2015/04/jquery-multiselect-dropdown-in-aspnet.html