RedirectToAction передает параметр строки запроса в качестве параметра url - PullRequest
0 голосов
/ 28 сентября 2018

У меня ошибка, я не очень понимаю.

У меня есть два действия в контроллере:

[Route("modifica/{id}")]
public ActionResult Edit(long id)
{
    ...
}

[HttpPost]
[Route("modifica")]
public ActionResult Edit(MyViewModel viewModel)
{
    ...

    RedirectToAction("Edit", new { id = long.Parse(viewModel.Id) });
}

Когда я выполняю перенаправление, я получаю ошибку 404 и получаю следующую ошибку:

Не найдено подходящего действия на контроллере MyController.Это может произойти, когда контроллер использует RouteAttribute для маршрутизации, но никакие действия на этом контроллере не соответствуют запросу.

Если я изменю значение Route attrbiute действия в GET с

[Route("modifica/{id}")]

до

[Route("modifica")]

Это работает, и я перенаправлен на /modifica?id=xxx.Но что мне нужно перенаправить на /modifica/xxx.Есть способ решить эту проблему, не изменяя конфигурацию маршрута в Global.asax?

Я думал таким образом, это может работать, но это не ... Кто-нибудь может мне помочь, пожалуйста?

Я искал переполнение стека, но все вопросы немного отличаются от моих.

Спасибо

...