Вернуть вид из другого поста - PullRequest
0 голосов
/ 26 сентября 2018

Это мой код:

[HttpPost]
public ActionResult Edit(int id)
{
   var viewModel = service.GetUserViewModel(id);
   return View(viewModel); // reponse the ValidateLogin view
}

[HttpPost]
public ActionResult EditDetails(UserDetails userDetails)
{
    return Edit(userDetails.Id);
}

К сожалению, он не возвращает представление, но выдает ошибку.Что там не так?

1 Ответ

0 голосов
/ 26 сентября 2018

Вы не можете вернуть вид из другого действия, отмеченного [HttpPost], используя return Edit(userDetails.Id), вместо этого необходимо установить одно действие как [HttpGet] (т.е. Edit метод действия) и использовать RedirectToAction() перегрузку, котораяимеет параметр значения маршрута для вызова этого действия, как в примере ниже:

[HttpPost]
public ActionResult EditDetails(UserDetails userDetails)
{
    // note: the second overload is routeValues
    return RedirectToAction("Edit", userDetails.Id);
}

[HttpGet]
public ActionResult Edit(int id)
{
   var viewModel = service.GetUserViewModel(id);
   return View(viewModel); // reponse the ValidateLogin view
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...