假设我有一个控制器动作,从用户的购物篮中删除一个项目.通过对url〜/ delete / {id}执行POST来触发此控制器动作.如果我的应用程序中有几个页面将发布到此URL,那么如何构建控制器操作来重定向到发布到该页面的页面?
解决方法
您应该从发布页面提供一个RedirectToUrl参数.
@H_@R_301_450@_6@依靠引荐来源网址标头不是一个好习惯.
@H_@R_301_450@_6@相反,做这样的事情:
public ActionResult Delete(int id,string RedirectToUrl) { // check if RedirectToUrl is null or empty and redirect accordingly }@H_@R_301_450@_6@在发布视图或部分视图中,您可以通过以下几种方式提供参数:
<%= Html.Hidden("RedirecToUrl","/my/lovely/url") %>@H_@R_301_450@_6@要么
<form action="/item/delete/22?RedirectToUrl=/my/lovely/url">@H_@R_301_450@_6@我更喜欢第一个选择.