我有一个数据表,我想通过我的剃须刀页面上的搜索框进行过滤.

以下是我当前的代码:

        if (!String.IsNullOrEmpty(searchString))
            referral = referral.Where(s => s.BoardMtgMonth.Contains(searchString) || s.BoardMtgYear.Contains(searchString));

因此,表中的一列(BoardMtgMonth)具有月份值:1月、2月、3月等 另一列(BoardMtgYear)具有年份值:2013、2014、2020等

我需要使我的搜索返回值为这两个值的配对.如果用户在2020年3月输入,我希望表中BoardMtgMonth的值为3月、BoardMtgYear的值为2020的所有行都是搜索结果.

现在就来, 如果我输入3月:我将得到所有具有3月月份的行. 如果我输入2020:我会得到年份为2020的所有行. 如果我输入2020年3月:我没有得到返回值.

如何更改搜索字符串的格式,使其接受AND组合搜索?也就是说,BoardMtgMonth=3月,BoardMtgYear=2020?除了我应该使用的两根管子,||还有其他东西吗?

谢谢你所有的帮助.

推荐答案

修改搜索字符串以包括由分隔符(如空格字符)分隔的两个值.然后,您可以使用Split方法将搜索字符串分割为字符串数组,并使用Contains方法判断表中的值是否与搜索字符串中的值匹配.

if (!String.IsNullOrEmpty(searchString))
{
    string[] searchValues = searchString.Split(' ');
    referral = referral.Where(s => s.BoardMtgMonth.Contains(searchValues[0]) && s.BoardMtgYear.Contains(searchValues[1]));
}

Where判断BoardMtgMonth列是否包含第一个值(=&>月值)AND BoardMtgYear列包含searchValues数组中的第二个值(=&>年值).

例如,January 2023将分为January2023.

if (!String.IsNullOrEmpty(searchString))
{
    string[] searchValues = searchString.Split(' ');
    if (searchValues.Length == 1)
    {
        referral = referral.Where(s => s.BoardMtgMonth.Contains(searchValues[0]) || s.BoardMtgYear.Contains(searchValues[0]));
    }
    else
    {
        referral = referral.Where(s => s.BoardMtgMonth.Contains(searchValues[0]) && s.BoardMtgYear.Contains(searchValues[1]));
    }
}

这将结合单值搜索和多值搜索.

Asp.net相关问答推荐

如何根据另一个下拉列表中的 Select 从下拉列表中删除一个值?

DBSet 不包含 Where 的定义

无法加载文件或程序集.无效指针(HRESULT 异常:0x80004003 (E_POINTER))

我可以在一个 Web 项目中有多个 web.config 文件吗?

如何删除字符串的定义部分?

在 DataTextField 中组合两个字段.这可能吗?

将 ASP.NET 成员资格表添加到我自己的现有数据库中,还是应该配置一个单独的 ASP.NET 成员资格数据库?

说服遗留应用程序 VB6 开发人员切换到 C#

Asp.Net 会话在 ashx 文件中为空

异步编程与线程有什么不同?

来自 IP 地址的经度和纬度值

在 asp.net 中调整图像大小而不会丢失图像质量

如何从 JS 访问 ViewBag

对于每个请求,RestClient 应该是单例还是新的

带有完整内存错误的 WCF 服务(内存门判断失败,因为可用内存) - 如何解决

根据 DropDownList 的值动态启用或禁用RequiredFieldValidator

禁用 web.config 继承?

.NET 4.0 中的自定义 MembershipProvider

Request.Cookies 和 Response.Cookies 之间的区别

如何使用 WebAPI 处理图像