我正在使用RedirectToAction将帖子重定向到另一个控制器并且它正在工作。所以我试图重定向到同一个控制器中的另一个动作,它也不起作用。
public ActionResult finalize(int id)
{
Meeting meeting = db.Meetings.Find(id);
meeting.meetingStatus = "finalized";
db.SaveChanges();
return RedirectToAction("Index");
}
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(Meeting meeting)
{
if (ModelState.IsValid)
{
db.Meetings.Add(meeting);
db.SaveChanges();
// return RedirectToAction("Invitation");
return (RedirectToAction("finalize", new { id = meeting.meetingID}));
}
return View(meeting);
}
答案 0 :(得分:0)
你不能在同一个电话中进行2次重定向,重定向只是将http重定向代码返回到另一个页面,重定向2次只是不工作,不要像正常方法那样对待动作方法它们是不同的
例如,当您请求页面example.com/controller/action
action
将被执行,例如,它的返回值为RedirectToAction("NotFound")
在这种情况下会发生什么
action
正文将被执行,返回值将向客户端发送一个302的http标头,表示您的新目的地为/controller/NotFound
所以RedirectToAction
只是将一个http代码返回给客户端,而不是调用另一个方法
更新
我错了,我用fiddler2检查了,您可以多次使用重定向操作,服务器会为每个重定向标头发送一次
我快速得出结论,因为我并不认为多重定向是正确的方法,所以在我尝试之后,我可以说它有效,只需创建一个新项目,看看问题的确切位置或使用像fiddler2
这样的工具