假设我有一个带有索引方法和更新方法的控制器。更新完成后,我想重定向到Index()。我应该使用return RedirectToAction(“Index”)还是只能调用return Index()?有区别吗?
public ActionResult Index()
{
return View("Index", viewdata);
}
public ActionResult Update()
{
// do updates
return RedirectToAction("Index"); or
return Index();
}
答案 0 :(得分:23)
使用重定向,否则客户端上的URL将与发布的URL保持一致,而不是与Index操作对应的URL。
答案 1 :(得分:11)
需要考虑的其他事项:
当用户点击“刷新”按钮时,POST后的重定向操作会更加顺畅,因为系统不会提示他们将数据重新发送到服务器。
表单数据将因重定向操作而丢失,除非您通过TempData明确维护它们。如果不这样做,您的表单控件在POST后将没有任何值,在某些情况下这可能是不受欢迎的。