我在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);}
如何将此对象传递给View?任何帮助非常感谢!
答案 0 :(得分:0)
您是否尝试过此操作(传递控制器名称)?
@Html.ActionLink("Show Report", "Report", "ControllerName", new { workList = ViewBag.workReportList }, null)
答案 1 :(得分:0)
之前我遇到过这个问题,这与路由有关。在ActionLink和ActionResult中将workList
更改为id
,或添加一条接受workList
作为参数的新路线,例如:
routes.MapRoute(
"ReportRoute", // Route name
"{controller}/{action}/{workList}", // URL with parameters
new { controller = "ControllerName", action = "Report", workList = UrlParameter.Optional }
);
用控制器名称替换ControllerName