我有一个动作,我从一个锚调用,因此,站点/控制器/动作/ID,其中ID是一个int。
稍后,我需要从控制器重定向到相同的动作。
有什么聪明的办法吗?目前我在tempdata中存储ID,但当你 返回后,按f5再次刷新页面,tempdata消失,页面崩溃。
我有一个动作,我从一个锚调用,因此,站点/控制器/动作/ID,其中ID是一个int。
稍后,我需要从控制器重定向到相同的动作。
有什么聪明的办法吗?目前我在tempdata中存储ID,但当你 返回后,按f5再次刷新页面,tempdata消失,页面崩溃。
当前回答
如果你需要重定向到控制器外的动作,这将工作。
return RedirectToAction("ACTION", "CONTROLLER", new { id = 99 });
其他回答
如果您的参数恰好是一个复杂的对象,这就解决了问题。关键是RouteValueDictionary构造函数。
return RedirectToAction("Action", new RouteValueDictionary(Model))
如果你碰巧有集合,这就有点棘手了,但另一个答案很好地涵盖了这个问题。
....
int parameter=Convert.ToInt32(Session["Id"].ToString());
....
return RedirectToAction("ActionName", new { Id = parameter });
你也可以发送任何ViewBag, ViewData..像这样
return RedirectToAction("Action", new { Dynamic = ViewBag.Data= "any data" });
如果你需要重定向到控制器外的动作,这将工作。
return RedirectToAction("ACTION", "CONTROLLER", new { id = 99 });
RedirectToAction带参数:
return RedirectToAction("Action","controller", new {@id=id});