Перенаправить на действие с атрибутом в ASP.NET MVC - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь перенаправить из метода контроллера в другой метод в том же контроллере, используя RedirectToAction.Тем не менее, это не работает до сих пор.

Одной из причин, по которой я могу придумать, является наличие у меня атрибута route для моего целевого метода.

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
    }
}

Что мне здесь не хватает?

1 Ответ

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

Что касается вашего дела, вам нужно вернуть результат:

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