将 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
分配给 Session
或 TempData
变量。
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
.
的缺点
return RedirectToAction("ActionName", new { lst = finalData });
[HttpGet]
Public ActionResult AcionName(IGrouping<string, ModelName> lst)
{
return View("ActionName", lst);
}
我使用此代码将我的列表重定向到另一个操作,但这不起作用。
您可以将 finalData
分配给 Session
或 TempData
变量。
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
.