假设我有一个控制器动作,用于删除用户购物篮中的某个项目.通过对url~/delete/{id}执行POST来触发此控制器操作.如果我的应用程序上有多个页面将发布到此URL,我该如何构建控制器操作以重定向回发布到它的页面?
Chr*_*ger 11
您应该从发布页面提供RedirectToUrl参数.
依赖引用标头不是一个好习惯.
相反,做这样的事情:
public ActionResult Delete(int id, string RedirectToUrl)
{
// check if RedirectToUrl is null or empty and redirect accordingly
}
Run Code Online (Sandbox Code Playgroud)
在发布视图或部分视图上,您可以通过多种方式提供参数:
<%= Html.Hidden("RedirecToUrl","/my/lovely/url") %>
Run Code Online (Sandbox Code Playgroud)
要么
<form action="/item/delete/22?RedirectToUrl=/my/lovely/url">
Run Code Online (Sandbox Code Playgroud)
我更喜欢第一种选择.
Den*_*kem 11
我就是做这个的:
public ActionResult ResendActivationEmail()
{
// Do other things here
return new RedirectResult(Request.UrlReferrer.AbsoluteUri);
}
Run Code Online (Sandbox Code Playgroud)