【发布时间】:2010-11-19 08:37:46
【问题描述】:
在 ASP.NET MVC 中是否有与 Ruby On Rails 的 redirect_to :back 等效的功能?
在提交表单之后呢?例如:
从 page1 用户单击指向 page2 的链接。在page2提交表单,然后我想重定向到page1。
如果我硬编码重定向到第 1 页,这将非常有用。但是,如果用户从第8页点击到第2页的链接,在第2页提交表单后,如何重定向回第8页而不是第1页?
【问题讨论】:
在 ASP.NET MVC 中是否有与 Ruby On Rails 的 redirect_to :back 等效的功能?
在提交表单之后呢?例如:
从 page1 用户单击指向 page2 的链接。在page2提交表单,然后我想重定向到page1。
如果我硬编码重定向到第 1 页,这将非常有用。但是,如果用户从第8页点击到第2页的链接,在第2页提交表单后,如何重定向回第8页而不是第1页?
【问题讨论】:
如果您想使用 Jan 的代码作为操作的 return 值,那么只需删除 Response. 部分,因为 Response.Redirect 将返回 void。你可以这样做...
public ActionResult Index()
{
return Redirect(Request.UrlReferrer.ToString());
}
如果您要发回表单,请查看这个 SO question,它可能会有所帮助。
How to RedirectToAction in ASP.NET MVC without losing request data
【讨论】:
您可以使用 Page.PreviousPage 从代码中获取对上一页的引用;虽然我不确定这是否存在于 MVC 中。
您也可以只重定向到推荐人:
Response.Redirect(Request.UrlReferrer.ToString());
【讨论】: