使用 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 });
我正在尝试使用 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 });