Проблема заключается в следующем операторе возврата:
return RedirectToAction("Index", this);
Согласно списку перегрузок RedirectToAction , второй параметр может содержать routeValues
, пока объект передается ему вместо строки:
public virtual RedirectToActionResult RedirectToAction (string actionName, object routeValues)
Следовательно, вы фактически передаете ControllerBase
экземпляр как routeValues
параметр.Поэтому вы должны указать вместо этого имя контроллера:
return RedirectToAction("Index", "Repositories");
Если вы хотите передать параметр routeValues
вместе с именем контроллера, используйте RedirectToAction
с 3 перегрузками , например так:
return RedirectToAction("Index", "Repositories", new { parameterName = "value" });
Примечание:
RedirectToAction
использует метод HTTP GET , который передает параметры маршрута в виде строки запроса, поэтому объект viewmodel не 'не вписывается в это.Вы должны использовать другой экземпляр состояния TempData
или Session
для передачи объекта viewmodel другому контроллеру.
TempData["ViewModel"] = Input;
return RedirectToAction("Index", "Repositories");