У меня есть этот метод поиска, созданный на «MusicController»:Метод поиска не работает ввиду
public ActionResult Search(string search)
{
var musicas = from m in db.Musicas select m;
if (!String.IsNullOrEmpty(search))
{
musicas = musicas.Where(s => s.Nome.Contains(search));
// return RedirectToAction("Search"); //name of view that will return the data
}
return View(musicas);
}
Этот метод вызывается в моей _Layout.cshtml:
@using (Html.BeginForm("Search", "Music",null, FormMethod.Post, new {@class ="navbar-form navbar-left" , role="search"}))
{
<div class="form-group">
@Html.TextBox("search")
</div>
button type="submit" class="btn btn-default" value="search">Submit</button>
}
Таким образом, когда пользователь положил значение в TextBox и нажмите на кнопку отправить, перенаправляются на эту точку зрения:
@model IEnumerable<TestTcc2.Models.Musica>
@{
ViewBag.Title = "Search";
Layout = "~/Views/Shared/_LayoutOuvinte.cshtml";
}
<h2>Search</h2>
<table>
<tr>
<th>
<span>Genero</span>
</th>
<th>
<span>Nome</span>
</th>
<th>
<span>Artista</span>
</th>
<th>
<span>Preço</span>
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.genero.Nome)
</td>
<td>
@Html.DisplayFor(modelItem => item.Nome)
</td>
<td>
@Html.DisplayFor(modelItem => item.NomeArtista)
</td>
<td>
@Html.DisplayFor(modelItem => item.Preco)
</td>
<td>
@Html.ActionLink("Play", "", new { path = item.path }) |
</td>
</tr>
}
</table>
на этой точке зрения, пользователь должен видеть результат метода поиска, я думаю, что мне нужно поставить if, если после: «if (item.Nome ==« searchResult »)», но я не знаю, что является лучшим способом поместить результат метода поиска В таблице.
Кто-нибудь может мне помочь? В принципе, мне нужно вернуть результат метода поиска в таблице в окне «Поиск».
Какая у вас проблема? Вызывается ли исключение? Не возвращает ли вы ожидаемые результаты? (вам не нужно 'if (item.Nome ==" searchResult ")') –