使用 ASP.NET MVC 中的属性重定向到操作

Redirect to action with an attribute in ASP.NET MVC

我正在尝试使用 RedirectToAction 从控制器方法重定向到同一控制器中的另一个方法。但是,到目前为止它不起作用。

我能想到的一个原因是我在目标方法上的属性路由。

public class PostController : Controller
{
    private static readonly PostRepository postRepo = new PostRepository();

    [Route("post/{id}")]
    public ActionResult GetPost(int id)
    {
        Post post = postRepo.GetPostById(id);

        return View("Index", post);
    }

    [Route("post/{id}/comment")]
    [HttpPost]
    public void Comment(int id, string text)
    {
        Post post = postRepo.GetPostById(id);

        var comment = GetComment(text);

        postRepo.AddComment(comment);

        RedirectToAction("post", new { id });    // Didn't work

        RedirectToAction("GetPost", new { id });    // Didn't work
    }
}

我在这里错过了什么?

关于你的情况,你需要return结果:

return RedirectToAction("GetPost", new { id });