У меня есть индексное представление (список), к которому я добавил нумерацию страниц, и оно отлично работает. У меня есть другие представления (списки), которые имеют окно поиска HTML, которое передает значение обратно в контроллер, а также отлично работает. Но, когда я пытаюсь сделать так, чтобы оба были одинаковыми. , Я получаю нулевую ссылку.
Сообщение об ошибке
Значение не может быть нулевым.
Имя параметра: значение
Это строка, генерирующая ошибку:
var catalogs = supplies.Where(s => s.ItemDescription.Contains(searchString));
Это окно поиска asp / html в представлении индекса
form asp-controller="Movies" asp-action="Index">
<p>
Search Catalog Files: <input type="text" name="SearchString">
<input type="submit" value="Filter" />
</p>
И это мой контроллер индекса, который имеет нумерацию страниц и searchString
public ActionResult Index(string searchString)
{
var supplies = db.ICS_Supplies.OrderByDescending(g => g.Supplies_ID).ToList();
var catalogs = supplies.Where(s => s.ItemDescription.Contains(searchString));
var model = new PagedList<ICS_Supplies>(catalogs, 1, 10);
if (!String.IsNullOrEmpty(searchString))
{
catalogs = catalogs.Where(s => s.ItemDescription.Contains(searchString));
}
return View(model);
}
Это как-то связано с асинхронностью? Нужно ли использовать следующее?
public async Task<ActionResult> Index(string searchString)
Или, возможно, у меня есть вещи в неправильном порядке? Страница работает нормально, ЕСЛИ текстовое поле SearchString содержит текст. , но когда страница пытается загрузиться в первый раз, происходит сбой.
Есть указатели?