我有以下方法
public ActionResult Search(FormCollection form)
{
.......
Publication[] publicationsResult = server.SearchLibrary(this.getSession(), sq);
return RedirectToAction("BookListing", new { publications = publicationsResult });
}
从服务器获取发布列表并将其存储在类型为Publication的数组中。
我想在另一个页面中显示结果,因此我重定向到以下方法:
public ActionResult BookListing(Publication[] publications)
{
Publication[] p = publications;
return View(publications);
}
我还定义了以下路线:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Library", action = "Search", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"PublicationListing", // Route name
"{controller}/{action}/{publications}", // URL with parameters
new { controller = "Library", action = "BookListing", publications = UrlParameter.Optional } // Parameter defaults
);
在搜索中,publications数组中填充了超过13000个对象,但是当我重定向到 BookListing 时,会传递null。
有没有办法使用RedirectToAction将一个对象数组从一个操作方法传递到另一个?
感谢。
答案 0 :(得分:2)
您始终拥有TempData集合。这在单个请求的操作重定向之间保持不变,因此为您提供了类似的存储...