C# 通过ActionLink传递收集

C# 通过ActionLink传递收集,c#,asp.net-mvc-3,collections,viewbag,C#,Asp.net Mvc 3,Collections,Viewbag,我有一个ASP.NETMVC3的网站。我想将集合传递到另一个视图。我在ViewBag里有这个收藏。以下是我的ActionLink: 控制器: public ActionResult Report(List<Work> workList) { return View(workList); } 如何将此对象传递给视图?非常感谢任何帮助 您是否尝试传递控制器名称 @Html.ActionLink("Show Report", "Report", "ControllerName",

我有一个ASP.NETMVC3的网站。我想将集合传递到另一个视图。我在ViewBag里有这个收藏。以下是我的ActionLink:

控制器:

public ActionResult Report(List<Work> workList)
{
    return View(workList);
}

如何将此对象传递给视图?非常感谢任何帮助

您是否尝试传递控制器名称

@Html.ActionLink("Show Report", "Report", "ControllerName", new { workList = ViewBag.workReportList }, null)

我以前遇到过这个问题,它与路由有关。将ActionLink和ActionResult中的workList都更改为id,或者添加一个新路由,在其中接受workList作为参数,例如:

routes.MapRoute(
            "ReportRoute", // Route name
            "{controller}/{action}/{workList}", // URL with parameters
            new { controller = "ControllerName", action = "Report", workList = UrlParameter.Optional }
        );

将控制器名称替换为控制器的名称

是的,我已尝试传递控制器名称。但事实并非如此。哦,我的错,我记得你不能通过这样的链接发布收藏,你可以在这里做一些建议吗?
@Html.ActionLink("Show Report", "Report", "ControllerName", new { workList = ViewBag.workReportList }, null)
routes.MapRoute(
            "ReportRoute", // Route name
            "{controller}/{action}/{workList}", // URL with parameters
            new { controller = "ControllerName", action = "Report", workList = UrlParameter.Optional }
        );