如何重定向到另一个动作或路线?

时间:2016-03-31 21:30:56

标签: c# asp.net-mvc razor routing actionlink

在我的Razor代码中,我有以下操作链接。

@Html.ActionLink("poof", "Poof", new { Id = Model.Id })

我想要发生的是调用 Poof 方法但是,我希望计算机导航到另一个视图 - 例如显示

public ActionResult Show(Guid id)
{
  return View(...);
}

public void Poof(Guid id)
{
  ...
  RedirectToRoute("Show", new {Id = id});
  RedirectToAction("Show", new {Id = id});
}

我已经尝试了 RedirectToRoute RedirectToAction ,但在这两种情况下,我都登陆了一个空白屏幕。仔细看看这个网址后,我发现我已经陷入 ... / Poof /...路线而不是被引入 ... / Show / ... < / em>我无法弄清楚如何反弹到适当的链接。

我正在关注类似this answer的内容,但由于 Show 操作中的断点没有被点击(在重定向上,就是这样),我开始怀疑它是否更多适合玩this blog等路线映射。

1 个答案:

答案 0 :(得分:1)

即使Poof重定向到另一个操作,它仍然是一个操作本身,因此它需要返回ActionResult。出于这个原因,RedirectToAction会返回ActionResult

public ActionResult Poof(Guid id)
{
    // ...

    return RedirectToAction("Show", new {Id = id});
}