MVC3 - 使用参数将 RedirectToAction 从编辑页面返回到详细信息页面

Par*_*ar6 1 asp.net-mvc-3

我有一个从类别列表到成分的主要细节场景。

在编辑 ActionResult 中我有:

if (ModelState.IsValid){
    dc.Entry(mainingredient).State = EntityState.Modified;
    dc.SaveChanges();
    int ID = ?????
    return RedirectToAction("Details", new { id = ID});
}
...
Run Code Online (Sandbox Code Playgroud)

我基本上是想回到我原来的页面。例如...从 /Ingredient/Edit/2 回到 Ingredient/Details/2

为了使这个问题更清楚: 如何将 id 从 edit get 传递到 edit httppost 控制器,以便我可以在用户进行更新后将用户重定向回详细信息页面并再次传递 id?

Dar*_*rov 5

您可以url在调用编辑操作时将查询字符串参数传递给它。这样您就可以重定向到:

public ActionResult Edit(string returnUrl)
{
    ...
    return Redirect(url);
}
Run Code Online (Sandbox Code Playgroud)

或者如果您已经知道控制器和操作:

return RedirectToAction("Details", new { id = ID });
Run Code Online (Sandbox Code Playgroud)

就足够了。您想要重定向回来的 ID 可以作为操作参数传递。