다음ViewData를 사용하지 않고 개체 배열을 전달하는 ASP MVC RedirectToAction
public ActionResult Search(FormCollection form)
{
.......
Publication[] publicationsResult = server.SearchLibrary(this.getSession(), sq);
return RedirectToAction("BookListing", new { publications = publicationsResult });
}
서버에서 게시 목록을 가져 와서 게시 형식의 배열에 저장합니다.
다른 페이지에 결과를 표시하고 싶습니다. 따라서 다음과 같은 방법으로 리디렉션했습니다.
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
);
검색 발행물 배열은 13000 개가 넘는 개체로 채워지지만, BookListing으로 리디렉션하면 null이 전달됩니다.
한 작업 메서드에서 다른 개체로 RedirectToAction을 사용하여 개체 배열을 전달할 수 있습니까?
고마워.
정말 사용자를 리디렉션해야합니까? 검색 작업에서 BookListing보기 만 반환 할 수 있습니다. – tomasmcguinness
이상적으로 사용자가 URL을 북마크 할 수 있기를 바랍니다. – DreX
전체 배열을 URL로 전달할 수있는 것으로 변환하려고합니다. 처음에는 URL에 256 자만 있기 때문에 작동하지 않습니다. – tomasmcguinness