Привязка модели не работает, когда я ввожу значения в представление текстового поля , она не назначается параметру метода действия в контроллере.
Страница Index.cshtml имеет текстовое поле и кнопку поиска , когда мы нажимаем кнопку поиска , значение текстового поля должно быть присвоено параметру метода действия, метод действия searchById находится в домашнем контроллере,
Я получаю ниже ошибки ,
The parameters dictionary contains a null entry for parameter 'Id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult SearchById(Int32)' in 'ModelBinding.Controllers.HomeController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters
Что я уже пробовал:
Индекс.страница cshtml по
@model IEnumerable< ModelBinding.Models.Employee> @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> @using (Html.BeginForm("SearchById","Home")) { <p> <label>Enter ID:<input type="number" id="Id" /></label> </p> <button>Search</button> }
Метод домашнего контроллера SearchbyId с целочисленным параметром:
public ActionResult SearchById(int Id) { return View("Index", empList.Where(x => x.Id == Id)); }