我有一个我不太了解的错误。
我的控制器中有两个动作:
[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进行路由,但该控制器上没有任何动作与请求匹配时,就会发生这种情况。
如果我从
更改GET中操作的Route
属性值
[Route("modifica/{id}")]
到
[Route("modifica")]
它有效,我将重定向到/modifica?id=xxx
。但是我需要重定向到/modifica/xxx
。有没有一种方法可以解决此问题,而无需修改Global.asax
中的路由配置?
我以这种方式想,它可以工作,但不能...有人可以帮我吗?
我一直在寻找堆栈溢出的问题,但是所有问题都与我的有所不同。
谢谢