将ArrayList参数传递给控制器​​操作ASP.NET MVC

时间:2011-03-30 04:08:12

标签: asp.net-mvc

我正在编写一个应用程序,其中我需要将System.Collections.ArrayList数据作为参数从一个控制器动作发送到另一个控制器动作。 我正在使用

return RedirectToAction("action1","controller1", new { arrList = arrListInFirstAction});

但是由于ArrayList超出了第一个操作的范围,重定向到action的参数会收到一个null参数。

有人可以帮我找到这个问题的答案。

感谢。

1 个答案:

答案 0 :(得分:3)

您不能将复杂类型作为路由参数发送。但是,您可以使用TempData集合为一个请求保留该对象,并在下次请求时自动从集合中删除

publci ActionResutl action()
{
     TempData["arr"] = new int[]{1,2,3};
     return RedirectToAction("action1");
}

Public ActionResult action1()
{
    int[] arr = TempData["arr"];
    return View();
}