Я пытался выполнить операцию поиска.Каким-то образом мне удалось реализовать операцию поиска по столбцу.Теперь я хочу искать через несколько столбцов.например, если моя таблица содержит имя, номер, адрес электронной почты, пол.и если я ищу слово M и мой столбец имя содержит поле как Mandy , а если мой столбец email содержит значение man@mas.com Я хочу, чтобы они оба отображались.
Как бы я это сделал?
view
<td>@Html.TextBoxFor(model => model.name, new { @placeholder = "search by name" })</td>
<td><input type="submit" value="search" class="btn-success" /></td>
Контроллер MVC:
[HttpPost]
public ActionResult Index(Customer cvm)
{
CustomerClient cc = new CustomerClient();
ViewBag.listCustomers = cc.search(cvm.name);
return View();
}
Класс клиента:
public IEnumerable<Customer> search(int name)
{
try
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(Base_URL);
client.DefaultRequestHeaders.Accept.Add(new
MediaTypeWithQualityHeaderValue("application/json"));
var result = client.GetAsync(string.Format("customers/search/{0}", name)).Result;
if (result.IsSuccessStatusCode)
return result.Content.ReadAsAsync<IEnumerable<Customer>>().Result;
return null;
}
catch
{
return null;
}
}
Контроллер API:
[HttpGet]
[Route("search/{name}")]
public HttpResponseMessage search(int name)
{
try
{
var httpresponsemessage = new HttpResponseMessage();
httpresponsemessage.Content = new StringContent(
JsonConvert.SerializeObject(db.customers.Where(
p => p.name.Contains(name)).ToList()));
httpresponsemessage.Content.Headers.ContentType = new
MediaTypeHeaderValue("application/json");
return httpresponsemessage;
}
catch
{
return null;
}
}