【问题标题】:asp.net dropdown list with checkboxes带有复选框的 asp.net 下拉列表
【发布时间】:2015-12-12 18:34:12
【问题描述】:

我正在使用一个 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>

我正在生成的 Html 是这样创建的;

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

它不是最优雅的解决方案,我希望有一个简单有效的 asp.net 控件可以实现,这样我就不必使用这种方法

我对 vb 或 c# 示例都很满意,因为两者都可以使用。

我们将不胜感激。

【问题讨论】:

标签: c# html asp.net vb.net


【解决方案1】:

我个人使用 jQuery 插件 chosen 将普通的选择框与优雅的 UI 包装在一起,允许您选择多个项目。

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

【讨论】:

  • 我没有完全跟上 JQuery 的速度,但我很快就会资助一门课程来帮助我对它更有信心。然后我将如何将选定的值传递给后面的代码
  • 实际上,您的问题似乎与stackoverflow.com/questions/774587/…重复
  • 无论我使用哪种解决方案,我仍然需要帮助将选定的值传递回后面的代码
  • 这是&lt;asp:checkbox&gt;,如果下拉列表正在构建并由 JQuery 填充,则最后一个链接没有多大用处
【解决方案2】:

我会建议你非常简单的方法。

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

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

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

4)。现在每次调用附加值的函数都会作为参数和分隔符(如“,”)发送到服务器端隐藏字段的值。

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

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

【讨论】:

    猜你喜欢
    • 2015-03-22
    • 2010-12-02
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 2010-10-16
    • 2011-05-26
    相关资源
    最近更新 更多