从父checkboxList获取所选类别的checkboxList值

时间:2016-07-25 14:06:26

标签: asp.net vb.net

我正在尝试从数据库中获取checkboxlist(工作)。页面上有两个checkboxlist:第一个在页面加载时获取,第二个从第一个checkboxList获取选定的值。当我从第一个checkboxList中选择第一次时,这也有效。但是当我从第一个checkboxList中选择第二个值时,字符串的结构就像这样

  

(' Value1',' Value2"& vbLf&"')

应该像这样制作字符串

  

('值1''值2&#39)

现在我不明白这是什么& vbLf &

Dim joiner As String = ""
Dim whereClause As String = String.Empty
Dim categoryCondition As String = String.Empty

For i = 0 To categoryFilter.Items.Count - 1
    If categoryFilter.Items(i).Selected Then
        Dim category As String = categoryFilter.Items(i).ToString
        categoryCondition = String.Concat(categoryCondition, joiner, String.Format("'{0}'", category))
        If joiner = "" Then joiner = ","
    End If
Next

1 个答案:

答案 0 :(得分:0)

使用内置功能获取已检查的项目并将字符串与LINQ

连接
  1. 从控件(categoryFilter.CheckedItems
  2. 获取选中的项目
  3. 将它们转换为字符串(Cast(Of String)()
  4. '分别放在他们周围(Select()
  5. ,Aggregate()
  6. 一起加入他们

    代码:

    Dim categoryCondition As String = Me.categoryFilter.CheckedItems.
        Cast(Of String)().
        Select(Function(i1) String.Format("'{0}'", i1)).
        Aggregate(Function(i1, i2) String.Format("{0}, {1}", i1, i2))
    

    如果换行仍然存在,则很可能它存在于CheckedListBox项目本身中。你说这是来自你的数据库,所以也许那就是(不工作)。