通过行动链接传递收集
本文关键字:链接 | 更新日期: 2023-09-27 18:34:40
我在MVC3 ASP.NET 有一个网站。我想将集合传递到另一个视图。我在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);}
如何将此对象传递到视图?任何帮助非常感谢!
您是否尝试过此操作(传递控制器名称(?
@Html.ActionLink("Show Report", "Report", "ControllerName", new { workList = ViewBag.workReportList }, null)
我以前遇到过这个问题,这与路由有关。 在操作链接和操作结果中将workList
更改为id
,或者添加一个接受workList
作为参数的新路由,如下所示:
routes.MapRoute(
"ReportRoute", // Route name
"{controller}/{action}/{workList}", // URL with parameters
new { controller = "ControllerName", action = "Report", workList = UrlParameter.Optional }
);
将ControllerName
替换为控制器的名称