单选按钮搜索结合两个参数C#Lambda

时间:2016-12-29 22:13:54

标签: c# asp.net-mvc lambda

寻找有关像John Smith这样的名字进行组合搜索的帮助。我可以让搜索为约翰或史密斯工作,但当我将两者合并时,我得不到任何结果。

控制器 - 仅带回名字或姓氏(正如预期的那样||)

public ActionResult index(string searchBy, string search)
    {
     if (searchBy == "name")
        { return View(db.members.Where(x => x.members_firstname.Contains(search) 
                       || x.members_lastname.Contains(search)).ToList());
    }

控制器 - 不起作用

public ActionResult index(string searchBy, string search)
    {
     if (searchBy == "name")
        { return View(db.members.Where(x => x.members_firstname.Contains(search) 
                       && x.members_lastname.Contains(search)).ToList());
    }

查看:

<p>
            @using (Html.BeginForm("Index", "Members", FormMethod.Get))
    {
        <b>Search By</b><@Html.RadioButton("searchBy", "name", true)<text>Name</text>
        @Html.RadioButton("searchBy", "members_id") <text> ID</text>
        @Html.TextBox("search") <input type="submit" value="search" />
    }
</p>

会员模型

  public string members_firstname { get; set; }
    public string members_lastname { get; set; }

谢谢

1 个答案:

答案 0 :(得分:1)

在控制器中,您使用一个搜索字符串来查找名字和姓氏,这样您就只能找到John John或Smith Smith等成员。您需要将第二个参数作为姓氏添加到索引操作,并修改视图以处理两个参数:

Plane