0

ASP.NETMVC3にWebサイトがあります。コレクションを別のビューに渡したい。私はこのコレクションをに持ってい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

これを試しましたか(コントローラー名を渡します)?

@Html.ActionLink("Show Report", "Report", "ControllerName", new { workList = ViewBag.workReportList }, null)
于 2012-05-17T15:58:29.530 に答える
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 に答える