如何使用linq过滤asp.net/vb.net中的列表

时间:2013-10-29 10:18:35

标签: asp.net linq

我有一个班级列表

如何在某些条件下进行过滤..我正在应用以下它在值完全匹配时正在工作

        Dim result = obj.OfType(Of clsEmrItmMstr)().Where(Function(s) s.GenName Like         txtserach.Text)
        grddetails.DataSource = result
        grddetails.DataBind()

其中“clsEmrItmMstr”是我的班级名称,“GenName”是班级中的字段

2 个答案:

答案 0 :(得分:2)

您只需使用String.Contains

,而不是Like运算符
Dim result = obj.OfType(Of clsEmrItmMstr)().
    Where(Function(s) s.GenName.Contains(txtserach.Text))

使用Like,您需要*作为通配符,因此这应该有效:

Dim result = obj.OfType(Of clsEmrItmMstr)().
    Where(Function(s) s.GenName Like String.Format("*{0}*", txtserach.Text))

(假设您要查找GenName包含TextBox中输入的文字的所有对象

答案 1 :(得分:1)

您可以使用Contains功能

Dim result As dynamic = obj.OfType(Of clsEmrItmMstr)().Where(Function(s) s.GenName.Contains(txtserach.Text))
grddetails.DataSource = result
grddetails.DataBind()