0

我在 ASP.NET MVC3 中有一个网站。我想将集合传递给另一个视图。我有这个收藏在ViewBag. 这是我的ActionLink

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

控制器:

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

但它不起作用 - 看起来传递的对象是空的。当我使用相同的对象时,RenderPartial一切正常。

@{Html.RenderPartial("WorkListTable", (IEnumerable<WorkWeb.Entities.Work>)ViewBag.workReportList);}

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

4

2 回答 2

0

我以前也遇到过这个问题,和路由有关。在您的 ActionLink 和 ActionResult 中更改workList为或添加一个您接受作为参数的新路由,例如:idworkList

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

替换ControllerName为您的控制器的名称

于 2012-05-17T16:19:37.950 回答
0

你试过这个(传递控制器名称)吗?

@Html.ActionLink("Show Report", "Report", "ControllerName", new { workList = ViewBag.workReportList }, null)
于 2012-05-17T15:58:29.530 回答