C# 带有复选框的asp.net下拉列表

C# 带有复选框的asp.net下拉列表,c#,html,asp.net,vb.net,C#,Html,Asp.net,Vb.net,我正在使用asp.net网站,我需要使用带有复选框的下拉列表 我已经用HTML编写了这篇文章,但是我想要一个更简单的解决方案,除了使用Request.Form() 我当前用于生成下拉列表并返回信息的代码如下所示 <div class="btn-group"> <a class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="#">Report Status &

我正在使用asp.net网站,我需要使用带有复选框的下拉列表

我已经用HTML编写了这篇文章,但是我想要一个更简单的解决方案,除了使用
Request.Form()

我当前用于生成下拉列表并返回信息的代码如下所示

 <div class="btn-group">
      <a class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="#">Report Status <span class="caret"></span></a>
        <ul class="dropdown-menu">
            <asp:PlaceHolder ID="statusSelectorPlaceHolder" runat="server"></asp:PlaceHolder>
        </ul>
 </div>
这不是最优雅的解决方案,我希望有一个简单有效的asp.net控件,我可以实现它,这样我就不必使用这种方法

我对vb或c的例子都很满意,因为两者都能用


我们将非常感谢您的任何帮助

我个人使用jQuery插件包装了一个普通的选择框,它有一个优雅的UI,允许您选择多个项目


它甚至可以很好地处理相当大的项目列表,并具有搜索等功能。

我建议您使用非常简单的方法

1) 。基于html的复选框很好

2) 。只需在其中添加一个JavaScript事件onClick=“functionName('labelValue')”,并将label的值传递给它

3) 。在表单上添加服务器端隐藏字段

4) 。现在每次调用append value函数时,都会将其作为参数和分隔符发送,如“,”到serer侧隐藏字段的值

5) 。现在,当页面提交时打开按钮,您将在隐藏字段中获得服务器端的值


6) 。使用.Split(“,”)拆分隐藏字段值,您将获得数组中的所有值。

我对JQuery还没有完全了解,但我很快将资助一门课程,帮助我对它更有信心。然后我如何将所选值传递给后面的代码实际上,您的问题似乎与我使用的解决方案重复,我仍然需要帮助将所选值传递回后面的代码请参见。这是一个
,如果下拉列表是由JQuery构建和填充的,那么最后一个链接没有多大用处
Private Shared Function BuildHtmlStatusSelector(dictOfStatus As Dictionary(Of String, String)) As StringBuilder
        Dim html As StringBuilder = New StringBuilder

        For Each item In dictOfStatus
            html.AppendLine(String.Format("<li style='padding-left: 10px'><label class='small' tabindex='-1'><input type='checkbox' id='reportStatus' name='reportStatus' checked='true' value='{0}'/>{1}</label></li>", item.Value, item.Key))
        Next
        Return html
End Function
If Not Request.Form("reportStatus") = Nothing Then
            StatusCodes = Request.Form("reportStatus")
End If