Создать POST. GET используется для запроса данных. Вы пытаетесь отправить данные обратно (параметры поиска), для которых требуется отправить обратно.
[HttpGet]
public ActionResult SearchIndex()
{
return View();
}
[HttpPost,ActionName("Index")]
public ActionResult SearchIndex(string option, string search)
{
if (option == "Name")
{
var a = db.Students.Where(x => x.StudentName == search || search == null);
return View(a.ToList());
}
else if (option == "Gender")
{
return View(db.Students.Where(x => x.Gender == search).ToList());
}
else
{
return View(db.Students.Where(x => x.RegNo == search || search == null).ToList())
}
}
HTML также необходимо обновить, чтобы использовать FormMethod.Post при использовании.
@using (Html.BeginForm("Index", "Student", FormMethod.Post, new { encType = "multipart/form-data" }))
EDIT
Во-вторых, я думаю, что вам нужно только multipart / form-data, добавленные в ваш HTML.
@using (Html.BeginForm("Index", "Student", FormMethod.Get, new { encType = "multipart/form-data" }))