Нельзя передавать классы таким перенаправленным действиям. Перенаправление осуществляется с помощью URL. Url является строкой, поэтому он не может содержать классы ( сериализация объектов в URL здесь действительно не логична )
Вместо этого вы можете использовать TempData
TempData["searchJob"] = searchJob;
return RedirectToAction ...;
и в действии перенаправлен
Entity.SearchJob = (Entity.SearchJob)TempData["searchJob"] ;
После выполнения приведенного выше кода TempData больше не будет содержать searchJob. TempData обычно используется для однократного чтения.
Но мне не нравится путь выше. Если бы я был на вашем месте и хотел бы искать вакансии по имени , я бы добавил параметры маршрута, такие как
RouteValueDictionary dict = new RouteValueDictionary();
dict.Add("searchJobName", searchJob.JobName);
и получить его к действию через параметр
public ActionResult SearchJob(string searchJobName)
{
... do something with the name
}
Таким образом, вы получите более удобный для пользователя и удобный для HTTP URL-адрес, а с точки зрения действия он получит все необходимые параметры извне. Это лучше для тестирования, обслуживания и т. Д.