繁体   English   中英

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

[英]Radio Button Search Combine Two Parameters C# Lambda

在组合搜索约翰·史密斯(John Smith)的名称时寻求帮助。 我可以使搜索适用于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; }

谢谢

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM