将 IGrouping<string, model> 列表重定向到同一控制器中的另一个操作

Redirect IGrouping<string, model> List to another action in Same Controller

return RedirectToAction("ActionName", new { lst = finalData });
[HttpGet]
 Public ActionResult AcionName(IGrouping<string, ModelName> lst)
 {
  return View("ActionName", lst);
 }

我使用此代码将我的列表重定向到另一个操作,但这不起作用。

您可以将 finalData 分配给 SessionTempData 变量。

TempData["FinalData "] = finalData;
return RedirectToAction("ActionName");

From this answer:“TempData 允许您存储将在重定向后继续存在的数据。在内部它使用 Session,只是在进行重定向后数据会被自动驱逐”。 =21=]

然后在您的 GET 操作方法中,

Public ActionResult AcionName()
{
    var finalData = TempData["FinalData"] as IGrouping<string, ModelName>;
    return View("ActionName", finalData);
}

问题是,如果您在重定向后刷新,那么 finalData 将为空。因此,在这种情况下,您可以使用 Session["FinalData"] 或再次在 Get 方法中从数据库中获取数据。您可以查看我链接的答案,了解使用 TempData.

的缺点